Veuillez sélectionner au moins une des versions de signature à utiliser dans Android Studio 2.3
Maintenant, lors de la génération d'un fichier APK signé dans Android Studio, il affiche deux options (CheckBox) à savoir 1. V1 (Jar Signature)
et 2. en V2 (Full APK Signature)
tant que versions de signature à la dernière étape du processus de génération d'APK signé.
Alors, quelle est la différence entre V1 (Jar Signature) et V2 (Full APK Signature) dans la nouvelle mise à jour d'Android Studio?
Et lequel dois-je utiliser (ou les deux) pour signer apk pour la sortie de Play Store?
De plus, je reçois une erreur d' installation parse failed Aucun certificat lors de l' installation APK lorsque j'utilise la deuxième option.
Dois-je utiliser (ou les deux) pour signer apk pour la sortie de Play Store? Une réponse est OUI .
Selon https://source.android.com/security/apksigning/v2.html#verification :
J'ai essayé de générer une build en vérifiant l' option V2 (Full Apk Signature) . Ensuite, lorsque j'ai essayé d'installer une version de build dans un appareil inférieur à 7.0 et que je ne peux pas installer de build dans l'appareil.
Après cela, j'ai essayé de construire en cochant les deux versions et en générant la version. Puis en mesure d'installer la build.
la source
Il est écrit ici que "Par défaut, Android Studio 2.2 et le plug-in Android pour Gradle 2.2 signent votre application en utilisant à la fois le schéma de signature APK v2 et le schéma de signature traditionnel, qui utilise la signature JAR."
Comme il semble que ces nouvelles cases à cocher soient apparues avec Android 2.3, je comprends que mes versions précédentes d'Android Studio (au moins la 2.2) ont signé avec les deux signatures. Donc, pour continuer comme je l'ai fait auparavant, je pense qu'il vaut mieux cocher les deux cases.
EDIT 31 mars 2017: soumis plusieurs applications avec les deux signatures => pas de problème :)
la source
Je pense que cela représente une bonne réponse.
Vérification du schéma de signature APK v2
APK Signing Block
et vérifiez que:APK Signing Block
contiennent la même valeur.ZIP Central Directory
est immédiatement suivi d'unZIP End of Central Directory
enregistrement.ZIP End of Central Directory
n'est pas suivi par plus de données.APK Signature Scheme v2 Block
à l'intérieur duAPK Signing Block
. Si le bloc v2 est présent, passez à l'étape 3. Sinon, revenez à la vérification de l'APK à l'aide du schéma v1.APK Signature Scheme v2 Block
:SubjectPublicKeyInfo
le premier certificat de certificats est identique à la clé publique.Remarque: APK ne doit pas être vérifié à l'aide du schéma v1 si une défaillance se produit à l'étape 3 ou 4.
Vérification APK signée JAR (schéma v1)
L'APK signé JAR est un fichier JAR standard signé, qui doit contenir exactement les entrées répertoriées dans
META-INF/MANIFEST.MF
et où toutes les entrées doivent être signées par le même ensemble de signataires. Son intégrité est vérifiée comme suit:META-INF/<signer>.SF
etMETA-INF/<signer>.(RSA|DSA|EC)
JAR.<signer>.(RSA|DSA|EC)
est unePKCS #7 CMS ContentInfo
structure avec SignedData dont la signature est vérifiée sur le<signer>.SF
fichier.<signer>.SF
Le fichier contient un résumé complet du fichierMETA-INF/MANIFEST.MF
et des résumés de chaque section deMETA-INF/MANIFEST.MF
. Le résumé de l'ensemble du fichierMANIFEST.MF
est vérifié. Si cela échoue, le résumé de chaqueMANIFEST.MF
section est vérifié à la place.META-INF/MANIFEST.MF
contient, pour chaque entrée JAR à intégrité protégée, une section nommée de façon correspondante contenant le résumé du contenu non compressé de l'entrée. Tous ces résumés sont vérifiés.MANIFEST.MF
et ne font pas partie de la signature JAR. La chaîne de protection est donc<signer>.(RSA|DSA|EC)
→<signer>.SF
→MANIFEST.MF
→ le contenu de chaque entrée JAR protégée en intégrité.la source
Selon ce lien: aide à la signature
APK Signature Scheme v2 offre:
Il est recommandé d'utiliser APK Signature Scheme v2 mais n'est pas obligatoire .
la source