2013-07-22 1 views
5

Vorerst drei meine Apps bei Google Play ich so einen Signaturfehler hatte, wenn eine neue Version in den letzten Tagen zu laden versuchen:Upload fehlgeschlagen mit Fehlern Wenn Sie sich für eine neue Version einer App auf Google Play

Upload fehlgeschlagen Sie haben ein APK hochgeladen, das mit einem anderen Zertifikat als Ihre vorherigen APKs signiert ist. Sie müssen dasselbe Zertifikat verwenden. Ihre vorhandenen APKs sind mit dem/den Zertifikat (en) mit Fingerabdruck (en) signiert:

[SHA1: 87: 17: A3: 71: CD: CF: D6: 73: 71: 56: B1: 59: DE: 89: 6D: 5A: E0: EE: 31: 8A, SHA1: 4C: 45: 1E: 30: 2D: 04: F4: DC: 36: 0E: EF: 29: 1B: 1E: E1: 02: C0: E8: E9: 85]

und das Zertifikat (e) verwendet, um die APK zu unterzeichnen Sie hochgeladen Fingerabdruck haben (s):

[SHA1: 87: 17: A3: 71: CD: CF: D6: 73: 71: 56: B1: 59: DE: 89: 6D: 5A: E0: EE: 31: 8A]

Ich habe den Schlüsselspeicher überprüft und es ist der, den ich immer benutzt habe. Tatsächlich haben einige der Apps eine Pro-Version, die denselben Keystore verwenden und dort funktionierte das Update gut. Auffällig ist IMO der seltsame Fingerabdruck des alten, bestehenden APK, der im obigen Fall einen zweiten Eintrag mit "SHA1:" enthält und für eine der anderen Apps, die fehlgeschlagen sind, wurde der alte Fingerabdruck als "[]" aufgeführt. , dh ein leerer. In der Zwischenzeit habe ich auch andere Apps aktualisiert und in den meisten Fällen hat es gut funktioniert. Das einzige was mir aufgefallen ist, was die drei Apps mit denen ich Probleme habe, ist, dass diese Apps ziemlich alt sind, mit der ersten APK-Version von 2009 oder sogar 2008. Aber die Pro-Versionen - wo es gut geht - wurden später eingeführt.

Es gibt eine ähnliche Frage Upload failed for newer version apk on google play, aber die Browser-Cache-Lösung funktioniert nicht und ich bin auch ziemlich zuversichtlich, dass ich den richtigen Schlüssel verwendet habe.

Jeder hat eine Idee, was könnte die Lösung hier sein? Ich fange an zu denken, dass vielleicht für einige ältere Apps die Fingerabdrücke von den APKs auf Googles Seite falsch extrahiert wurden (daher die eine leere und die andere IMO ein bisschen seltsame Fingerabdrücke für alte Versionen). Aber in der Regel entstehen Probleme aus dem Bereich zwischen dem eigenen Ohren ...

Dank

+0

+1 Für die gut formulierte Frage zuerst veröffentlicht in. Leider habe ich zur Zeit keine Vorschläge ;-( –

Antwort

0

Es ist möglich, eine APK mit mehr als einem Schlüssel zu unterzeichnen. Dies war nie wirklich ein gut unterstütztes Verhalten, und die Reihenfolge, in der die Schlüssel verarbeitet werden, ist nicht definiert. Aber wenn Ihr frühes APK mit zwei Schlüsseln signiert wurde, wie es die Nachricht andeutet, dann muss Ihr Update mit den gleichen Schlüsseln (möglicherweise in der gleichen Reihenfolge) signiert werden.

Es sieht so aus, als wäre der erste Schlüssel der gleiche wie der, den Sie verwendet haben. Sie müssen also den Schlüsselspeicher für den zweiten Schlüssel finden. Vielleicht hat ein Teil deines Buildprozesses das APK vor dem Hochladen neu signiert. Ein wahrscheinlicher Verdächtiger könnte Ihr Debug Keystore in ~/.android sein.

+0

Danke, aber was ist mit dem anderen Fingerabdruck als "[]"? Signieren ohne Schlüssel war sicherlich nie möglich. – Ecthelion

0

Ich habe auch genau dieses gleiche Problem. Nichts hat sich geändert, ich benutze immer noch den gleichen Schlüsselspeicher und habe die App vor zwei Wochen ohne Probleme aktualisiert. Jetzt heißt es, dass das signierte App-Update nur ein SHA1-Hash-Fingerabdruckzertifikat hat und die vorhandene App im Geschäft zwei verschiedene SHA1-Hash-Fingerabdrücke hat (und einer davon ist derselbe wie das App-Update). Es sieht so aus, als ob es mit zwei Zertifikaten signiert wurde, aber jetzt nur noch eins. Aber nichts hat sich im Export- und Signierprozess geändert - es wurde über die Eclipse-Export-signierte Anwendung wie immer gemacht.

Vielleicht wurde es immer mit zwei zu unterzeichnen, und einer von ihnen wurde verschoben oder gelöscht. Das ist meine einzige Theorie an diesem Punkt.Oder vielleicht ist etwas im Google Play-Entwickler-Console-Upload/Signatur-Prüfcode abgelaufen.

Ein weiteres Detail unserer App Aktien mit App OPs ist, dass es auch 2009

+1

Sehr interessant. Und zwar genau wie in meinem Fall Persönlich glaube ich, dass dies die Theorie unterstützt, dass es ein spezielles Problem für alte Apps ist. – Ecthelion

+0

Demnach können Sie die Fingerabdrücke von APKs auf diese Weise überprüfen ... http: //stackoverflow.com/questions/11331469/how-to- find-out-which-key-wurde-zu-sign-a-app verwendet, was darauf hindeutet, dass sie SHA-1 sein sollten - Ich merke, dass meine Fingerabdrücke MD5withRSA sind, wenn ich das tue - vielleicht ist es ein Problem, wenn der Keystore Zertifikate hat Mit MD5withRSA. Können Sie Ihre APKs auf diese Weise überprüfen, um zu sehen, ob das der Unterschied zwischen denen ist, die funktionieren und denen, die nicht funktionieren? Vielleicht hat Google (versehentlich) die Unterstützung für ältere MD5-Zertifikate in diesem Monat fallengelassen –

+1

Sie haben es behoben jetzt war es Goo gle's Problem. –