J'ai mis à jour mon application et l'ai testée sur mon appareil. Tout fonctionne correctement si je teste l'application via le bouton Exécuter dans Eclipse, mais si je l'exporte dans un apk et tente d'installer celui-ci, il échoue.
Il n'y a pas de code d'erreur ou quoi que ce soit d'autre, cela indique simplement que l'application n'a pas été installée.
Une idée pourquoi cela se produit? J'ai seulement changé quelques choses dans mon application: j'ai retiré la basegameutils lib de mon application et migré vers la nouvelle api sans basegameutils. Ça y est (sauf pour quelques corrections de bugs, mais cela ne peut pas en être la cause).
J'ai déjà redémarré Eclipse et nettoyé tous les projets plusieurs fois.
Le sdk cible est 22 et j'utilise les images système les plus récentes et ainsi de suite pour ce niveau d'api (mon point de départ est un lien boursier 6 avec 5.1.1 en cours d'exécution). J'ai également mis à jour mes outils de compilation de 23.0.1 à 23.0.1 et supprimé la version 22. Est-ce la cause?
J'ai également essayé de télécharger l'apk dans la console de développement et il n'y avait pas d'erreur.
Merci de votre aide.
MODIFIER:
La sortie logcat indique que la signature ne correspond pas à la version précédemment installée.
Si j'essaie d'installer la version en direct actuelle via le Play Store, un message d'erreur indiquant que je ne peux pas installer cette application est également affiché, car un autre utilisateur a déjà installé une version incompatible sur cet appareil (mais je ne l'ai pas installée et je n'ai pas plusieurs utilisateurs sur l'appareil).
Si je suis arrivé au menu des applications dans les paramètres, mon application est affichée en bas de la liste, mais il y a une note disant que l'application n'est pas installée pour les utilisateurs. Si je clique dessus, tous les boutons sont non cliquables (je ne peux donc pas le désinstaller).
Qu'est-ce qui se passe?
J'ai trouvé une solution mais je n'ai toujours aucune idée de la cause du problème.
quelque part sur mon appareil, mon application était toujours installée même si elle ne s’était pas affichée dans le tiroir des applications et le Play Store me l’avait dit Dans le menu Paramètres/Applications, mon application était toujours présente (comme je l’ai mentionné dans la modification de mon message original) et j’ai donc cliqué dessus. Si vous cliquez sur le bouton de menu, vous pouvez choisir unisntall pour tous les utilisateurs qui ont fait le tour. maintenant je peux installer mon apk à nouveau.
Je ne sais pas du tout comment cela s'est passé, mais voilà, j'espère que cela aidera.
MODIFIER:
J'ai eu le même problème que ce gars avait. la réponse acceptée là-bas est beaucoup plus agréable que mon texte mal rédigé;)
Votre signature a changé, vous devez donc désinstaller la version précédente. Vous avez essayé de désinstaller à partir de l'interface utilisateur du périphérique et cela a échoué - essayez-le à partir de la ligne de commande:
adb désinstallez votre_nom_package
Sur les appareils Nexus, seules les désinstallation en ligne de commande fonctionnent parfois.
Je faisais face au même problème et je l’ai résolu de cette façon, pour Updated Android Studio 2.3
courant
Build
> Générer Signed apk
.Keystore path
.Password, alias, key password
.Build type
sélectionnez en conséquence (par exemple, pour publier dans le magasin, utilisez release
).Signature Version
cochez les cases V1
et V2
.Finsih
.Explorer
et utilisez-la pour votre playstore
ou dans des appareils comme fichier apk signé et certifié.Le problème est que vous avez une version de votre application de test. Donc, vous ne mettez pas vraiment l'application à niveau! Ce sont deux applications différentes. Vous devez d'abord désinstaller la version précédente (tests) pour pouvoir installer la version (signée) de votre application.
Vous ne pouvez pas exécuter l'apk signé directement sur votre appareil Android.
Si vous souhaitez exécuter votre apk, suivez les étapes ci-dessous:
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
Cela vous permettra d'exécuter votre apk signé sans télécharger à partir du Play Store.
ou essayez ce lien:
Dans mon cas, c'est le chemin proguardFiles dans build.gradle qui a causé ce problème
Si vous avez deux options (V1 (signature du fichier jar) et V2 (signature complète de l'APK)) avant la génération signée apk. vous devez utiliser la signature de fichier v1 dès maintenant, car il n’existe aucune compatibilité ascendante et tous les téléphones Android dotés de la version <7 n'acceptent pas cette signature. Une compatibilité ascendante sera ajoutée dans certains prochains N Developer Preview . Il existe également des explications sur ce développeur.Android dans ce lien: https://developer.Android.com/about/versions/nougat/Android -7.0 # apk_signature_v2
J'ai eu la sauvegarde Erreur juste au cas où quelqu'un fait face à cela. Pour moi, c'était parce que j'ai plusieurs projets pour la même application sur le téléphone. vous devez supprimer les anciennes versions de l'application de votre téléphone.