web-dev-qa-db-fra.com

Qu'est-ce que cela signifie: Echec [INSTALL_FAILED_CONTAINER_ERROR]?

J'essaie de déployer mon application et j'obtiens parfois l'erreur suivante: 

Failure 
[INSTALL_FAILED_CONTAINER_ERROR] 

J'ai essayé de le rechercher sur Google mais je ne trouve pas ce que l'erreur veut dire ou ce que c'est causé par. Je déploie via IDE (IntelliJ) le fichier est copié sur le périphérique Dans le/data/local/tmp (Huawei Ideos non root, en cours d'exécution 2.2), J'aime ça. Avant d'installer le Apk, j'avais déjà supprimé l'application de l'appareil au préalable. J'ai également fait Sûr qu'il n'y avait pas d'ancien fichier sous/data/local/tmp sur le périphérique. Encore Je reçois cette erreur maintenant. Le paquet devrait être signé avec la clé de débogage, puisque je déploie via IDE en "lançant" l'application. 

$ pwd 
/data/local/tmp 
$ ls -l 
-rw-rw-rw- Shell    Shell    17257686 2011-04-21 20:31 
com.company.shop 
$ pm install -r com.company.shop 
        pkg: com.company.shop 
Failure [INSTALL_FAILED_CONTAINER_ERROR]

Qu'est-ce que cela signifie et comment le résoudre?

Modifier/Mettre à jour:

Je peux éviter l'erreur en empêchant l'installation de l'application sur la carte SD, en définissant

Android:installLocation="internalOnly"

dans le manifeste. C'est bon pour le développement, mais pour la production, ce n'est pas vraiment ce que je veux, car mon application est assez volumineuse avec 17 Mo; Je préfère donc pouvoir l’installer sur la mémoire externe sans enracinement (car c’est le seul moyen de supprimer /mnt/secure/asec/smdl2tmp1.asec, qui semble être une solution aussi).

124
Mathias Conradt

supprimer ce fichier de votre appareil

/mnt/secure/asec/smdl2tmp1.asec

Edition/Mise à jour de Mathias Conradt (OP):

Si vous ne disposez pas d'un accès root, vous devez monter la carte SD et la supprimer via un ordinateur:

/.Android_secure/smdl2tmp1.asec
44
Jazz

Changer l'emplacement d'installation de

Android:installLocation="preferExternal"

dans

Android:installLocation="auto"

dans le fichier AndroidManifest.xml de votre projet.

218
Rene

Si vous utilisez un émulateur, modifiez-le et ajoutez plus de mémoire. J'ai eu un problème comme celui-ci et tout ce que j'ai fait était de modifier la mémoire de mon AVD de 200 Mo à 1 000 Mo et le problème semble disparaître ... Bonne chance.

31
Dan

Cela signifie qu’une installation antérieure était corrompue. Si vous installez sur l'externe, je vous suggère de formater la carte SD et essayez à nouveau.

7
dalbator

J'ai eu cette erreur à plusieurs reprises. J'ai trouvé le moyen le plus simple d'éviter l'erreur dans son intégralité est simplement de formater la carte SD. Utilisation des outils internes du téléphone ou des émulateurs. J'ai constaté que les cartes SD générées automatiquement ou même que vous créez votre propre carte sdcard.iso échouent et provoquent cette erreur, sauf si elles sont formatées par les outils Android internes.

6
user2445968

Pour moi, cela était dû à un manque d'espace sur la carte SD de mon émulateur. Je travaillais sur un très gros projet et je pensais que 40 Mo suffisait, mais je l'ai changé pour 200 Mo et le problème a disparu.

4
noisecapella

J'ai reçu ce message d'erreur d'Android 5.0.1. J'ai changé l'emplacement d'installation préféré en "Carte SD amovible" via Paramètres-> Applications-> Emplacement d'installation préféré.

J'ai remis l'option "Laisser le système décider" et le message d'erreur a disparu.

3
nyxee

Eu la même erreur avec divers .apk sur CyanogenMod 12.1 (Android 5.1.1) sur ma note 8 avec une deuxième partition pour Link2SD. J'ai pu installer les applications en forçant l'installation via adb en tant que root:

adb root
adb install -f myapp.apk
2
Tobi G.

Pour moi, c'était le langage de l'appareil. Je change la langue en arabe pour tester mon application. Puis j'ai eu cette erreur. Rétablir la langue a fait l'affaire.

1
Elyess Abouda

Android: installLocation = "auto" fonctionne .. !!

Si non, Vérifiez une fois la taille de votre espace de stockage externe. [Mémoire disponible> Taille de l'application] Si l'espace de stockage n'est pas suffisant, cette erreur est également générée.

1

dans certains cas, la suppression du libs/Android-support-v4.jar génère cette erreur.

0
Amir Saniyan

Pour moi, une désinstallation de plusieurs applications a résolu le problème. Lorsqu'un stockage local dispose de suffisamment de mémoire, le déploiement de l'APK est terminé. Mais en général, je redémarre simplement un gadget et l'installation est terminée… .. De plus, certains programmes comme Clean Master peuvent vous aider. Essuyez simplement les processus inutiles, fermez les programmes avec Clean Master et obtenez suffisamment de mémoire.

0
CoolMind

J'ai eu le même problème avec l'émulateur. Il était parti quand j'ai changé le type de processeur de l'émulateur de ARM à Intel.

0
Wytas

Redémarrer mon appareil a résolu le problème pour moi.

0
theOzmic