J'ai signé mon APK dans Android Studio 2.3 (build-> générer un APK signé). Lorsque j'essaie de le télécharger sur le Google Play Store, cela signifie que j'ai transféré un fichier APK non signé. Quelqu'un pourrait-il expliquer pourquoi cela se produit et comment le résoudre?
Il a été transféré avec succès lorsque j'ai vérifié la version 1 (Jar Signature) au lieu de la version 2 (signature complète de l'APK) lors de la génération de l'APK signé dans Android Studio 2.3.
Android 7.0 présente APK Signature Scheme v2, un nouveau schéma de signature d'application qui offre des temps d'installation plus courts et une protection accrue contre les modifications non autorisées des fichiers APK.
Lors de la création d'un apk signé, il y a deux cases à cocher.
Trois choix s'offrent à nous:
select V1 (Pour les anciennes versions de signature) - apk est téléchargé avec succès
sélectionnez V2 (Pour les versions plus récentes de la signature) - Veuillez noter que la sélection de cette seule ne fonctionnera pas.
sélectionnez V1 et V2 (pour les versions plus anciennes et plus récentes) - apk est téléchargé avec succès
Pourquoi choisir V2 seul ne fonctionne pas?
Parce que APK Signature Scheme v2 a été introduit dans Android 7.0 (Nougat). Pour rendre un APK installable sur Android 6.0 (Marshmallow) et les appareils plus anciens, l'APK doit être signé à l'aide de la signature JAR avant d'être signé avec le schéma v2.
Pour plus d'informations sauter ici
Signé pour les deux v1 et v2. Il va télécharger avec succès.
En effet, vous utilisez uniquement la signature v2 lorsque vous utilisez la version release.
Alors, qu'est-ce que v1 et v2 sont mentionnés?
v1 est le mécanisme de signature par défaut et v2, le mécanisme le plus récent ajouté, permettant une vérification beaucoup plus rapide. Cela signifie que les fichiers APK signés v2 s'installent/se mettent à jour un peu plus vite sur Android Nougat (Android 7.0, API de niveau 24) et plus récent.
Alors, que devrais-tu faire?
Si vous souhaitez signer l'application sans aucune modification
Vérifiez v1 (Signature de jar uniquement) qui est la valeur par défaut.
Si vous voulez la dernière signature et le support des versions 7.x
Check v2 (Signature complète d'Apk) qui réduit également la taille de l'application.
Si vous souhaitez que l'application soit plus petite, capable de s'installer plus rapidement et compatible avec toutes les versions de Android.
Vérifiez à la fois v1 et v2.
PS: applicable uniquement pour la signature d'applications avec Studio, autre que l'utilisation de tubes pour la construction.
Pour plus de références Link
Comment signer APK avec V2
https://developer.Android.com/studio/command-line/apksigner.html
Étape 1) Android Studio, sélectionnez Affichage> Fenêtres d’outils> Terminal.
gradlew assembleRelease
2) Alignez le fichier APK non signé à l’aide de zipalign:
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
3) Signez votre APK avec votre clé privée en utilisant apksigner:
apksigner sign --ks my-release-key.jks my-app-unsigned-aligned.apk --out my-app-release.apk
Remarque: Pour utiliser l'outil apksigner, vous devez disposer de la révision 24.0.3 ou supérieure des outils de génération de SDK Android. Vous pouvez mettre à jour ce paquet en utilisant le SDK Manager.
4) Vérifiez que votre APK est signé:
apksigner verify my-app-release.apk
Remarque: les étapes 2 à 4 sont exécutées dans l'invite de commande G:\AndroidStudio\Sdk\build-tools\25.0.0 \.
Si vous y parvenez, utilisez Android Studio 3.3. L'erreur persiste, que vous sélectionniez ou non les cases à cocher Signature, essayez de supprimer manuellement le dossier app/build.
C'est un problème de Google et il est publié il y a deux jours dans cette page