Impossible d'installer l'apk signé sur l'appareil manuellement, erreur "Application non installée"

107

Je souhaite publier mon application sur GooglePlay, mais je souhaite d'abord faire un dernier test avec l'apk signé pour m'assurer que toutes les clés API utilisées fonctionnent correctement avec la version de sortie (GMaps, Facebook, etc.)

Donc, je viens de créer une version signée de mon application avec notre clé de version et lorsque j'essaye d'installer l'application sur l'appareil, j'ai une erreur:

entrez la description de l'image ici

J'ai essayé de copier l'apk sur l'appareil et de l' installer avec une application d'installation apk.

Une chose étrange est que lorsque je fais le même processus avec la clé de signature de débogage, tout va bien, je peux installer et exécuter l'application.

Voici les étapes de la procédure:

Je sélectionne la clé de libération , tapez le mot de passe.

Voici les étapes de la procédure:

Je sélectionne le type de version de version au lieu de déboguer

Je sélectionne le type de version de version au lieu de déboguer

Juste au cas où j'ai également défini dans le fichier gradle les clés de signature, mais je dois admettre que je ne sais pas si c'est nécessaire.

Juste au cas où j'ai également défini dans le fichier gradle les clés de signature, mais je dois admettre que je ne sais pas si c'est nécessaire.

J'ai essayé comme 7 sept fois maintenant, donc je suppose que ce problème n'est pas seulement un mot de passe mal saisi , je peux également faire fonctionner cela avec la clé de signature Android de débogage standard.

S'il vous plait aidez si vous le pouvez.

Adam Varhegyi
la source
1
Salam. Cette réponse peut résoudre votre problème: http://stackoverflow.com/a/42745459/1676736
Sayed Abolfazl Fatemi
je suis confronté au même problème. Quelle était la vraie raison? L'avez-vous découvert? @Adam Varhegyi
Rohit Singh
@RohitSingh La réponse ci-dessous, lol.
Adam Varhegyi
Je veux dire que l'application n'a pas été complètement désinstallée même si vous l'avez désinstallée? Ou c'est une chose seulement Android 5.0 (ou même au-dessus).
Rohit Singh
1
@RohitSingh Mon problème était exactement comme la réponse le décrit. L'application a été installée pour un autre utilisateur sur le téléphone et je ne l'ai pas vue avec un autre utilisateur. J'ai donc dû le désinstaller pour "Tous les utilisateurs"
Adam Varhegyi

Réponses:

81

Vous utilisez peut-être l'appareil Android 5.0 ou supérieur.

Allez simplement dans Paramètres -> Applications -> Cliquez sur votre application. ---> Dans la page d'informations sur l'application dans le menu de la barre d'action, il y aura une option appelée «Désinstaller pour tous les utilisateurs», cliquez dessus. Votre application sera complètement désinstallée et vous pouvez maintenant essayer d'installer la nouvelle version sans problème. J'espère que ceci vous aidera

Vérifiez ma solution à partir du lien ci-dessous.

Lien 1

J'espère que cela vous aidera.

Ragu Swaminathan
la source
Comment diable ont-ils pu faire ça de cette façon. Travailler btw merci.
Adam Varhegyi
2
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses aux liens uniquement peuvent devenir invalides si la page liée change.
SOFe
Homme merci beaucoup, ce bug m'a pris une semaine à comprendre
Diego Vinícius
Heureux, vous a aidé !! @ DiegoVinícius
Ragu Swaminathan
66

Pour les Updated Android Studio 2.3utilisateurs actuels , cette réponse est pour vous car peu de gens utilisent éclipse de nos jours pour le développement Android car le studio Android a d'énormes progrès.

Alors, suivez cette méthode pour créer votre Signed apkfichier.

  1. Build> Générer Signed apk.
  2. Créez Keystore path.
  3. Mettez Password, alias, key password.
  4. Build typesélectionnez en conséquence (par exemple pour libérer dans l'utilisation du Playstore release).
  5. Signature Versioncochez les cases V1et V2.
  6. Finsih.
  7. Allez à l' explorerendroit où vous avez sélectionné l'apk à stocker et vous verrez votre .apknom de fichier comme l' app-release.apkutiliser.
Crime_Master_GoGo
la source
14
La sélection de la signature V1 l'a fait
Meanman
vous m'avez sauvé beaucoup de temps
curiousMind
Travaille pour moi. Gagner du temps . Merci
YeeKhin
5
Vérifier les deux V1et V2était la solution!
Alex Jolig
1
La vérification de V1 a résolu le problème pour moi. Auparavant, seul V2 était vérifié.
BluJ IT
51

la sélection de Signature Version v1 et v2 a résolu le problème pour moi .... essayez-leentrez la description de l'image ici

Shubhamhackz
la source
4
C'était exactement mon problème. la question demeure pourquoi devrions-nous également marquer V1 (signature de jar)? et comment google s'attend-il à ce que nous sachions cela?
A.Alqadomi
Ce n'est pas obligatoire. Vous devriez cocher LES DEUX de ces cases si possible, mais si le nouveau mécanisme de signature V2 vous pose des problèmes, vous pouvez simplement cocher les deux si vous rencontrez des problèmes.
Shubhamhackz
43

La même chose m'est arrivée, tant que j'ai généré mon apk à partir de Build> Build APK. Je pourrais installer et désinstaller l'apk autant de fois qu'ils l'étaient sans aucun problème, mais à la place, si je générais le Build> Generate Signed APK, lorsque je passais l'apk au téléphone et essayais de l'installer, cela ne m'en permettait qu'un occasion, le même qui a sorti le message suivant:

entrez la description de l'image ici

jusque-là, tout allait bien si je sélectionnais "INSTALLER DE TOUTE MANIÈRE", mais que se passait-il si je désinstallais l'application et que je voulais la réinstaller (un scénario possible), ce qui s'est passé:

entrez la description de l'image ici

J'ai donc résolu le problème en désactivant Play Protect, ce que j'ai réalisé (dans Google Play)> Menu> Play Protect> Rechercher les menaces de sécurité (désactiver).

entrez la description de l'image ici

entrez la description de l'image ici

Gerrard
la source
Cette solution fonctionne pour moi. Un autre changement de Google +1
Prêt pour Android
Tu m'as sauvé la vie!
akcoban
Pouvez-vous nous dire pourquoi cela se produit? Qu'est-ce que je fais de mal qui fait que c'est la solution?
sparkhead95
16

«Application non installée» s'affiche lorsqu'une application avec le même package est déjà installée sur le même appareil. supprimez simplement votre première application que vous utilisiez à des fins de test avant de la rendre apk signé. Cela fonctionnera. à votre santé!

Tara
la source
8
Oui je sais mais il n'est pas installé auparavant.
Adam Varhegyi
6
Comment puis-je installer apk avec une version supérieure, sans supprimer l'application actuelle?
user7856586
12

Sélectionnez les versions de signature v1 et v2 pour résoudre le problème

entrez la description de l'image ici

schéma v1

Un fichier JAR peut être signé à l'aide de l'outil de ligne de commande jarsigner ou directement via l'API java.security. Chaque entrée de fichier, y compris les fichiers non liés à la signature dans le répertoire META-INF, sera signée si le fichier JAR est signé par l'outil jarsigner. Pour chaque entrée de fichier signée dans le fichier JAR signé, une entrée de manifeste individuelle est créée pour elle tant qu'elle n'existe pas déjà dans le manifeste

Schéma V2

Les signatures v1 ne protègent pas certaines parties de l'APK, telles que les métadonnées ZIP. Le vérificateur APK doit traiter de nombreuses structures de données non approuvées (pas encore vérifiées), puis ignorer les données non couvertes par les signatures. Cela offre une surface d'attaque importante. De plus, le vérificateur APK doit décompresser toutes les entrées compressées, ce qui consomme plus de temps et de mémoire. Pour résoudre ces problèmes, Android 7.0 a introduit le schéma de signature APK v2

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.

Il est recommandé d'utiliser le schéma de signature APK v2 mais ce n'est pas obligatoire. s'il vous plaît voir les détails

Lineesh K Mohan
la source
10

Dans Android Studio 3.0 et supérieur

Comme décrit ici

Remarque: le bouton Exécuter crée un APK avec testOnly = "true", ce qui signifie que l'APK ne peut être installé que via adb (qu'utilise Android Studio). Si vous voulez un APK déboguable que les gens peuvent installer sans adb, sélectionnez votre variante de débogage et cliquez sur Créer des bundle (s) / APK (s)> Build APK (s).

Ajouter une balise d'applicationandroid:testOnly="false" interne dans AndroidManifest.xml

Référence: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

Ketan Ramani
la source
7

Au-dessus de la réponse de shubham soni fonctionne pour moi, en fait, cela arrive à la version Android> = 5.0 entrez la description de l'image ici.

Amit raj
la source
1
pourquoi cette réponse en double?
sziraqui
@sziraqui: Subhankar soni n'a pas mentionné pourquoi "Impossible d'installer l'apk signé sur l'appareil manuellement, erreur" Application non installée ". J'ai rencontré le même problème avec la version Os que j'ai mentionné ci-dessus, donc pour une meilleure compréhension, j'ai mentionné que .Is quelque chose ne va pas dans ma réponse?. Pour la version Android <= 5.0, vous pourrez installer le même apk sans cocher les deux versions de signature.
Amit raj
Votre réponse ajoute simplement un point de plus à la réponse originale, donc cela aurait dû être un commentaire. Si vous postez ceci comme réponse, vous devez ajouter une sorte de citation soutenant votre revendication d'Android 5.0. Et si votre problème était en fait lié à Android ide et non à la version Android?
sziraqui
Merci, l'image dans la réponse m'a donné l'idée d'essayer les signatures V1 et V2 activées. Auparavant, je
n'allais
6

Ici, j'ai résolu ce problème

La raison derrière ce problème est qu'il existe déjà une application avec le même nom de package dans le téléphone, mais vous ne pouvez pas la trouver dans le menu du téléphone (vous avez déjà effectué la désinstallation, mais elle est toujours dans votre téléphone).

Pour voir l'application, allez dans PARAMÈTRES des téléphones -> APPLICATIONS . Là, vous pouvez voir l'application, mais à l'intérieur, le bouton DÉSINSTALLER peut être désactivé. cliquez sur le bouton de débordement du menu pour voir Désinstaller pour tous les utilisateurs .

Après avoir effectué la désinstallation pour tous les utilisateurs, j'ai installé avec succès mon apk signé. Vous pouvez également utiliser adb pour désinstaller l'application du téléphone.

adb uninstall package name

En plus de cela, si votre mobile prend en charge plusieurs utilisateurs, vérifiez si l'application respective n'est pas installée pour les autres utilisateurs. S'il est installé pour d'autres, désinstallez d'abord l'application précédente et réessayez

Alex Chengalan
la source
4

C'est une question assez ancienne, mais ma solution était de changer versionCode (augmentation) dans build.gradle

mateusz-dot
la source
4

Allez à Build.Gradle (module: app)

utiliser ceci - minifyEnabled false

Abhinav Pandey
la source
4

minifyEnabled false

c'est le seul qui a fonctionné pour moi après 3 jours de recherche sur tous les forums!

Toto1
la source
1
Cela semble être juste une répétition de cette réponse existante .
Pang
Avec des commentaires supplémentaires.
robinCTS
En d'autres termes, cela aurait dû être affiché comme un commentaire sur cette réponse , et non comme une réponse en soi.
robinCTS
3

Cela peut être dû au fait que vous exécutez le fichier APK à partir d'un stockage externe sur carte SD. Copiez simplement le fichier APK dans le problème de stockage interne.

Vu Thai Duy
la source
1

Cela peut se produire en raison de votre choix de la version de signature. Sur certains téléphones, des erreurs d'installation se produisent si la version de signature a été sélectionnée comme V2. Donc si cela se produit, essayez de sélectionner V1, cela fonctionnera sûrement.

Prashant Paliwal
la source
1

J'ai rencontré le même problème aujourd'hui, je me suis souvenu que j'avais signé mon apk avec la "nouvelle" signature Google Play:


entrez la description de l'image ici


Assurez-vous que vous avez signé votre application avec la signature Google Play.

Si vous avez fait:

  • Installez une mise à jour en téléchargeant votre apk sur Google Console (comme vous le feriez habituellement lors de la mise à jour de votre application):

entrez la description de l'image ici


  • Une fois le téléchargement terminé, ouvrez le Artifact library dans le menu.
  • Vous verrez l'apk que vous venez de télécharger.
  • Appuyez sur le bouton de téléchargement et sélectionnez Download derived APK.

Vous pourrez maintenant installer l'apk.

HB.
la source
0

si votre version d'Android Studio est supérieure à 3.0

On dirait que nous ne pouvons pas utiliser directement l'apk après avoir exécuté sur l'appareil à partir du dossier build -> output-> apk.

Après la mise à niveau vers Android Studio 3.0, vous devez aller dans Build -> Build Apk (s), puis copier l'apk de build -> output -> apk -> debug

entrez la description de l'image ici

Keshav Gera
la source
Le titre de cette question - "Cannot install signed apk". Vous faites référence à debug apk.
KRK
0

Fichier> Structure du projet> Variantes de construction> Sélectionnez la version> Assurez-vous que 'Signing Config' n'est pas vide> s'il est sélectionné dans la fenêtre de dépôt $signingConfigs.release

Je l'ai fait avec Android Studio 3.1.4 et cela m'a permis de créer une version apk après avoir suivi toutes les étapes ci-dessus pour créer la version apk et la clé de libération et ajouter les informations au classement de l'application. À votre santé!

Treewallie
la source
$signingConfigs.releasen'est pas disponible, seulement $signingConfigs.debugest disponible.
KRK
Ensuite, allez dans Créer> Générer un APK> Sélectionnez un APK et suivez les instructions.
Treewallie
0

J'étais confronté au même problème dans mon application Android. Je viens de mettre à jour une bibliothèque, puis de créer un fichier APK. Maintenant son travail.

Shailesh
la source
0

Vous n'avez pas besoin de désinstaller la version de Google Play si la signature d'applications par Google Play est activée pour votre application, procédez comme suit:
1. Créez une version signée de votre application avec votre clé de version
2. Accédez à la console développeur de Google Play
3. Créez une version fermée (version alpha ou bêta) avec la nouvelle version signée de votre application
4. Vous pouvez maintenant télécharger l'apk signé par App Signing by Google Play , choisissez l' APK dérivéentrez la description de l'image ici

  1. Installez l' APK dérivé téléchargé

La raison en est que la signature d'applications par Google Play signe des applications avec des clés différentes, si vous avez une application installée à partir du Play Store et que vous souhaitez tester la nouvelle version de l'application (générée à partir d'Android Studio) sur votre téléphone, "Application non installée" se produit puisque l'ancienne version et la nouvelle version ont été signées par deux clés différentes: une avec App Signing par Google Play et une avec votre clé.

Abduaziz Kayumov
la source
0

La suppression de l' android:testOnly="true"attribut d'AndroidManifest.xml a fonctionné. lien

Sachin K
la source
0

Veuillez désinstaller l'application de débogage de l'appareil ou simplement augmenter le code de version pour surmonter ces problèmes

Jaaveeth
la source
0

Dans mon cas, j'essayais de tester l'installation d'un APK signé et la version actuelle installée sur mon appareil n'était pas signée (création d'une version de débogage directement à partir du studio Android)

policiers
la source
0

C'est évident mais c'était quand même difficile à comprendre pour moi,

Veuillez vérifier si votre appareil mobile dispose de suffisamment d'espace pour installer l'apk. et ce n'est pas plein.

Makarand
la source