Différence entre les versions de signature – V1 (Jar Signature) et V2 (Full APK Signature) lors de la génération d'apk signé dans AndroidStudio?

Sélectionnez au moins une des versions de signature à utiliser dans Android Studio 2.3

Maintenant, en générant l'apk signé dans Android Studio, il affiche deux options (CheckBox) à savoir 1. V1(Jar Signature) et 2. `V2 (Full APK Signature) 'comme versions de signature dans la dernière étape du processus de génération d'apk signé.

  • Utilisation de la police personnalisée dans Android TextView en utilisant xml
  • Les fichiers Jar dans le dossier libs ne sont pas utilisés dans Android Gradle build
  • Comment faire la ligne avec les coins arrondis (lisses) avec AndroidPlot
  • Ouvrez les liens externes dans le navigateur avec la visionneuse Android
  • Comment formater un numéro de téléphone à l'aide de PhoneNumberUtils?
  • Attribute insetForeground a déjà été défini
  • ** Options de la signature ** Options

    Alors, quelle est la différence entre ces V1 (Jar Signature) et V2 (Full APK Signature) dans la nouvelle mise à jour de Android Studio?

    Et à quoi dois-je utiliser (ou les deux) pour signer apk pour la version Play Store?

    Aussi, j'ai l'erreur d' installer Parse Failed No Certificates pendant l'installation d'apk lorsque j'utilise la deuxième option.

  • Android Wear WearableListView dans un GridViewPager
  • Les navigateurs iPhone / Android prennent-ils en charge l'ordinateur de poche CSS @media?
  • Threading dans Android
  • Comment puis-je appeler getContentResolver dans Android?
  • Sqlite DB avec Android quelques questions de base
  • Démarrage du lecteur multimédia commencer
  • 4 Solutions collect form web for “Différence entre les versions de signature – V1 (Jar Signature) et V2 (Full APK Signature) lors de la génération d'apk signé dans AndroidStudio?”

    C'est un nouveau mécanisme de signature introduit dans Android 7.0, avec des fonctionnalités supplémentaires conçues pour rendre la signature APK plus sécurisée.

    Ce n'est pas obligatoire. Vous devriez vérifier l'une de ces cases si possible, mais si le nouveau mécanisme de signature V2 vous pose des problèmes, vous pouvez l'omettre.

    Vous pouvez donc laisser V2 sans contrôle si vous rencontrez des problèmes, mais devrait le vérifier si possible.

    Il est écrit ici que "Par défaut, Android Studio 2.2 et le Plugin Android pour Gradle 2.2 signent votre application en utilisant à la fois APK Signature Scheme v2 et le schéma de signature traditionnel, qui utilise la signature JAR".

    Comme il semble que ces nouvelles cases soient apparues avec Android 2.3, je comprends que mes versions précédentes d'Android Studio (au moins le 2.2) ont signé avec les deux signatures. Donc, pour continuer comme je l'ai fait auparavant, je pense qu'il vaut mieux vérifier les deux cases à cocher.

    EDIT 31 mars 2017: a soumis plusieurs applications avec les deux signatures => pas de problème 🙂

    Devrais-je utiliser (ou les deux) pour signer apk pour la libération de Play Store? Une réponse est OUI .

    Selon https://source.android.com/security/apksigning/v2.html#verification :

    Dans Android 7.0, les APK peuvent être vérifiés selon le schéma de signature APK v2 (schéma v2) ou la signature JAR (schéma v1). Les plates-formes anciennes ignorent les signatures v2 et vérifient uniquement les signatures v1.

    J'ai essayé de générer une compilation avec la vérification de l'option V2 (Full Apk Signature) . Ensuite, lorsque j'ai essayé d'installer une version en version 7.0 et je ne parviens pas à installer la version intégrée dans le périphérique.

    Ensuite, j'ai essayé de créer en cochant la case à cocher de la version et en générant la version. Ensuite, il est possible d'installer la construction.

    Je pense que cela représente une bonne réponse.

    APK Signature Scheme v2 verification

    1. Localisez le bloc de connexion APK et vérifiez que: a. Les champs de deux dimensions du bloc de signature APK contiennent la même valeur. B. L'annuaire central ZIP est immédiatement suivi de l'enregistrement ZIP final du répertoire central. C. ZIP Fin du répertoire central n'est pas suivi par plus de données.
    2. Localisez le premier bloc APK Signature Scheme v2 dans le bloc de signature APK. Si le bloc v2 est présent, passez à l'étape 3. Sinon, revenez à la vérification de l'APK en utilisant le schéma v1.
    3. Pour chaque signataire dans le bloc APK Signature Scheme v2 Block: a. Choisissez l'ID d'algorithme de signature supporté le plus fort à partir des signatures. La commande de force dépend de chaque version de mise en œuvre / plate-forme. B. Vérifiez la signature correspondante des signatures par rapport aux données signées à l'aide d'une clé publique. (Il est maintenant sûr d'analyser les données signées.) C. Vérifiez que la liste ordonnée des identifiants d'algorithme de signature dans les digests et les signatures est identique. (Ceci est pour empêcher le décapage / ajout de signature). D. Calculez le résumé des contenus APK en utilisant le même algorithme de synthèse que l'algorithme de synthèse utilisé par l'algorithme de signature. E. Vérifiez que le résumé calculé est identique au résumé correspondant des digests. F. Vérifiez que SubjectPublicKeyInfo du premier certificat de certificats est identique à la clé publique.
    4. La vérification réussit si au moins un signataire a été trouvé et l'étape 3 a réussi pour chaque signataire trouvé.

    Remarque: L'APK ne doit pas être vérifié à l'aide du schéma v1 si une panne se produit à l'étape 3 ou 4.

    Vérification APK signée JAR (schéma v1)

    L'APK signé par JAR est un JAR signé standard, 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: 1. Chaque signataire est représenté par une entrée JAR META-INF / .SF et META-INF /. (RSA | DSA | EC). 2. (RSA | DSA | EC) est un PKCS # 7 CMS ContentInfo avec la structure SignedData dont la signature est vérifiée sur le fichier .SF. 3. Le fichier .SF contient un résumé complet du META-INF / MANIFEST.MF et des synthèses de chaque section de META-INF / MANIFEST.MF. Le résumé complet du fichier MANIFEST.MF est vérifié. Si cela échoue, le résumé de chaque section MANIFEST.MF est vérifié à la place. 4. META-INF / MANIFEST.MF contient, pour chaque entrée JAR protégée par intégrité, une section nommée de manière correspondante contenant le résumé du contenu non compressé de l'entrée. Toutes ces digests sont vérifiées. 5. La vérification APK échoue si l'APK contient des entrées JAR qui ne sont pas répertoriées dans MANIFEST.MF et ne font pas partie de la signature JAR. La chaîne de protection est donc. (RSA | DSA | EC) -> .SF -> MANIFEST.MF -> contenu de chaque entrée JAR protégée par l'intégrité.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.