Bitte wählen Sie mindestens eine der Signaturversionen aus, die in Android Studio 2.3 verwendet werden sollen
Beim Generieren einer signierten APK in Android Studio werden im letzten Schritt des Generierungsprozesses für signierte APK zwei Optionen (CheckBox) angezeigt, nämlich 1. V1 (Jar Signature)
und 2. V2 (Full APK Signature)
als Signaturversionen .
Was ist der Unterschied zwischen V1 (Jar Signature) und V2 (Full APK Signature) im neuen Android Studio-Update?
Und welches sollte ich (oder beides) verwenden, um apk für die Veröffentlichung im Play Store zu signieren?
Außerdem wird beim Installieren von APK die Fehlermeldung Install Parse Failed No Certificates angezeigt, wenn ich die zweite Option verwende.
Soll ich (oder beides) zum Signieren von apk für die Veröffentlichung im Play Store verwenden? Eine Antwort lautet JA .
Gemäß https://source.android.com/security/apksigning/v2.html#verification :
Ich habe versucht, einen Build mit der Option V2 (Full Apk Signature) zu generieren . Als ich dann versuchte, ein Release-Build unter 7.0 zu installieren, konnte ich Build nicht auf dem Gerät installieren.
Danach habe ich versucht zu erstellen, indem ich beide Versions-Kontrollkästchen aktiviert und einen Release-Build generiert habe. Dann in der Lage, Build zu installieren.
quelle
Es steht geschrieben , hier , dass „standardmäßig Android Studio 2.2 und die Android - Plugin für Gradle 2.2 anmelden , um App sowohl APK Signature Scheme v2 und das traditionelle Unterzeichnung Schema verwendet, die JAR Unterzeichnung verwendet.“
Da diese neuen Kontrollkästchen anscheinend mit Android 2.3 angezeigt wurden, habe ich verstanden, dass meine früheren Versionen von Android Studio (zumindest die Version 2.2) mit beiden Signaturen signiert haben. Um wie zuvor fortzufahren, denke ich, dass es besser ist, beide Kontrollkästchen zu aktivieren.
BEARBEITEN 31. März 2017: Mehrere Apps mit beiden Signaturen eingereicht => kein Problem :)
quelle
Ich denke, das ist eine gute Antwort.
Überprüfung des APK-Signaturschemas v2
APK Signing Block
und überprüfen Sie Folgendes:APK Signing Block
enthalten den gleichen Wert.ZIP Central Directory
wird sofort vonZIP End of Central Directory
Aufzeichnung gefolgt .ZIP End of Central Directory
Es folgen keine weiteren Daten.APK Signature Scheme v2 Block
in derAPK Signing Block
. Wenn der v2-Block vorhanden ist, fahren Sie mit Schritt 3 fort. Andernfalls können Sie die APK mithilfe des v1-Schemas überprüfen.APK Signature Scheme v2 Block
:SubjectPublicKeyInfo
das erste Zertifikat mit dem öffentlichen Schlüssel identisch ist.Hinweis: APK darf nicht mit dem Schema v1 überprüft werden, wenn in Schritt 3 oder 4 ein Fehler auftritt.
JAR-signierte APK-Überprüfung (v1-Schema)
Die JAR-signierte APK ist eine standardmäßig signierte JAR, die genau die darin aufgeführten
META-INF/MANIFEST.MF
Einträge enthalten muss und bei der alle Einträge von derselben Gruppe von Unterzeichnern signiert werden müssen. Seine Integrität wird wie folgt überprüft:META-INF/<signer>.SF
und einenMETA-INF/<signer>.(RSA|DSA|EC)
JAR-Eintrag dargestellt.<signer>.(RSA|DSA|EC)
ist einePKCS #7 CMS ContentInfo
Struktur mit SignedData, deren Signatur über die<signer>.SF
Datei überprüft wird.<signer>.SF
Datei enthält eine Gesamtdatei Digest derMETA-INF/MANIFEST.MF
und Digests jedes Abschnitts vonMETA-INF/MANIFEST.MF
. Der Digest der gesamten Datei vonMANIFEST.MF
wird überprüft. Wenn dies fehlschlägt,MANIFEST.MF
wird stattdessen der Digest jedes Abschnitts überprüft.META-INF/MANIFEST.MF
enthält für jeden integritätsgeschützten JAR-Eintrag einen entsprechend benannten Abschnitt, der den Digest des unkomprimierten Inhalts des Eintrags enthält. Alle diese Digests werden überprüft.MANIFEST.MF
JAR-Signatur aufgeführt sind und nicht Teil dieser sind. Die Schutzkette ist somit<signer>.(RSA|DSA|EC)
→<signer>.SF
→MANIFEST.MF
→ Inhalt jedes integritätsgeschützten JAR-Eintrags.quelle
Laut diesem Link: Signaturhilfe
APK Signature Scheme v2 bietet:
Es wird empfohlen , APK Signature Scheme v2 zu verwenden , dies ist jedoch nicht obligatorisch .
quelle