Solution INSTALL_FAILED_INSUFFICIENT_STORAGE erreur sur Android
La INSTALL_FAILED_INSUFFICIENT_STORAGE
d'erreur est le fléau de tous les Android du développeur de la vie. Il se produit indépendamment de la taille de l'application, ou la capacité de stockage est disponible. Le redémarrage du périphérique cible résout le problème brièvement, mais il vient bientôt de retour. Il y a des centaines (voire des milliers) de panneau de message messages de personnes me demandant pourquoi le problème se produit, mais les gens de chez Google sont désespérément muet sur la question.
Il existe une solution simple. Si votre appareil de test est en cours d'exécution Android 2.2 ou ultérieure, puis ajouter le android:installLocation
attribut à votre demande le fichier de manifeste, avec la valeur "preferExternal"
. Cela va forcer l'installation de l'application sur le périphérique de stockage externe, comme un téléphone de la carte SD.
Par exemple:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.andrewsmith.android.darkness"
android:installLocation="preferExternal"
Ce n'est plus un band-aid que une solution, et il peut ne pas être idéal si vous souhaitez que votre application à installer sur la mémoire interne du téléphone. Mais il aura au moins rendre le processus de développement beaucoup moins frustrant.
- est-ce qu'il va travailler pour Android API de niveau 4 ou 1.6??
- j'ai eu ce msg dans le fichier de manifeste:-> erreur: Aucun identificateur de ressource trouvé pour l'attribut 'installLocation' package 'android' aider Pls
- pourriez-vous s'il vous plaît répondre à votre question? Juste trébuché à travers cette question lors de l'examen parce qu'il est marqué comme pas une vraie question. Alors que le drapeau est fondamentalement correct, ce serait une honte si la solution sera perdu.
- Première chose à faire est de: déterminer si le problème est en fait d'espace de! Voir ma réponse sur cette question pour plus de détails.
- Très utile. J'ai rencontré ce problème quand je fais des échantillons sur LibGDX livre de cuisine. C'est une solution rapide! Cheers mate.
- Désinstaller, redémarrer le téléphone, l'installation de nouveau, et de nouveau de ne pas donner à cette erreur pour moi
- Cette erreur s'affiche lorsqu'il n'y a pas assez d'espace sur votre appareil. Désinstaller certains ne sont pas nécessaires apps et effacer votre mémoire et votre problème sera parti
- Pour moi, j'ai dû redémarrer mon ordinateur - Mac OS X Mavericks - et l'erreur a disparu. Le redémarrage d'eclipse n'était pas assez. À ce propos, j'ai remarqué que mon VirtualBox/Genymotion est également défaut jusqu'à ce que j'ai fait le reboot
- Aucune des suggestions travaillé pour mon appareil. Il semble que Android est également de réserver un pourcentage fixe de l'espace libre, comme tout système de fichiers. Ma conjecture est d'environ 10%, mais je ne peux pas le confirmer. J'ai rapidement cherché la source pour certaines config d'entrée sans succès. Quelqu'un sait ce que c'est ?
- J'ai eu le même problème. Il fixe avec un simple redémarrage de mon appareil mobile Android ('LG L70') ligne de Commande de Windows: d:\>adb-s LGL70 installer monapp.apk [100%] /data/local/tmp/myapp.apk pkg: /data/local/tmp/myapp.apk Échec [INSTALL_FAILED_INSUFFICIENT_STORAGE] Après le redémarrage de l'appareil: d:\>adb-s LGL70 installer monapp.apk [100%] /data/local/tmp/myapp.apk pkg: /data/local/tmp/myapp.apk Succès
- Cela ne fonctionne pas.
- Résolu avec fidèle de commande: flutter propre
Vous devez vous connecter pour publier un commentaire.
Ce n'est qu'une solution de contournement temporaire et pas une vraie solution.
Après avoir cela m'arrive à moi et de ne pas être heureux avec les réponses reçues à ce jour, je suis allé travailler
en essayant de comprendre, à partir du PSBA source. J'ai trouvé un RÉEL solution.
Explication
Tout d'abord, un peu de (simplifié) de fond sur la façon Android installe et met à jour
Le problème que la plupart d'entre nous sont à avoir qui se passe lorsque l'application est mise à jour, mais la suppression de l'ancien APK échoue. Qui lui-même n'est pas encore la cause de la mise à jour échoue, mais il ne cause qu'il y a deux fichiers APK dans
/data/app
.La prochaine fois que vous essayez de mettre à jour l'application, le système ne peut pas déplacer ses fichiers temporaires parce que ni (1.apk) ni l'alinéa 2.apk) sont vides. Depuis Fichier#renameTo(Fichier) ne lance pas une exception, mais au lieu de cela renvoie un booléen PackageManager, ce n'est pas une façon de dire pourquoi il retourne INSTALL_FAILED_INSUFFICIENT_STORAGE même si la panne n'a rien à voir avec la quantité d'espace libre.
Solution
Exécuter:
OU
La désinstallation de l'application
Utiliser votre méthode préférée pour supprimer les DEUX:
Assurez-vous que rien d'autre ne bloque les installations futures de manière similaire. Dans mon cas, j'ai eu un
/data/app-lib/<full.package.name>-1
répertoire qui traînent autour de! Dans ce cas, une installation à la Carte SD travaillé, et l'évolution ultérieure de mémoire interne, trop. (La création de/data/app-lib/<full.package.name>
sans-1
fin.)Pourquoi d'autres "solutions" travaillé
Le code pour l'installation de stockage externe est sensiblement différente qui n'ont pas les mêmes problèmes
La désinstallation de l'application ne supprime qu'une seule version du fichier APK dans
/data/app
. C'est pourquoi vous pouvez le réinstaller une fois, mais pas de le mettre à jour.La quantité d'espace libre dans un émulateur n'est pas vraiment pertinent lorsque ce bug se produit
/data/app-lib/full.package.name-1
bloqué directement installer sur la mémoire interne. (J'ai aussi découvert que installer pour carte sd fonctionne!)function fix_app { adb shell "pm uninstall ${1}; rm -rf /data/app/${1}-*; su -c 'rm -rf /data/app-lib/${1}-*'" }
$ fix_app com.facebook.katana
data
répertoire est vide, mais encore, je suis confronté à ce problème, que faire?android:installLocation="preferExternal"
mais en vain, rien ne fonctionne dans mon cas. Je suis à l'aide d'un périphérique réel pour les tests. Quelle est la solution dans ce cas?/data/local/tmp
unexpected EOF
. Comment résoudre ce problème? Merci 🙂adb shell "pm uninstall <full.packge.name>"
équivalent àadb uninstall <full package name>
?Vous avez besoin pour augmenter l'émulateur Android de la capacité de la mémoire. Il y a deux moyens pour cela:
Cliquez-droit sur la racine de votre Projet Android, allez dans "Exécuter", puis aller à "Run Configurations...". Localisez le "Android Application" nœud dans l'arborescence à gauche, puis sélectionnez votre projet et allez à la "Cible" de l'onglet sur le côté droit de la fenêtre, regarder vers le bas pour les "Émulateur Options de Ligne de Commande" champ (il vous faudra parfois vous agrandissez la fenêtre) et enfin coller "-partition-taille 1024" il. Cliquez sur Appliquer, puis sur Exécuter pour utiliser votre émulateur.
Aller à Eclipse est Préférences, puis sélectionnez “Lancer”, Ajouter “-partition-taille 1024” sur le “Défaut émulateur option” champ. Cliquez sur “Appliquer” et l'utilisation de votre émulateur, comme d'habitude.
Merci de poster cette question. J'ai quelques autres idées qui pourraient aider certains développeurs.
Je suis le débogage mon application sur un périphérique (pas de l'émulateur). L'appareil a 21 MO d'espace libre sur
/data
(comme l'a révélé par "df" quand on fait "adb shell") et mon application est à seulement 5 MO. Cependant, je n'ai trouver que si j'ai supprimé d'autres applications sur l'appareil (sans redémarrer le téléphone ou le redémarrage adbd), INSTALL_FAILED_INSUFFICIENT_STORAGE serait aller pendant un certain temps et de revenir ensuite.Il semble donc que le débogage mon 5 MO app exige plus de 20 MO d'espace dans
/data
, et en outre quelque chose a eu des fuites à chaque fois que j'ai réglé mon application.J'ai donc fait "adb shell" et répertorié l'ENSEMBLE
/data
répertoire avecEt j'ai regardé le 5000-sortie ligne pour voir où tout l'espace est.
J'ai découvert de vastes quantités d'espace perdu sur mon appareil dans la
/data/klog
répertoire dans la forme des anciens fichiers journaux du mois de sessions de débogage.Ce n'étaient pas mes fichiers journaux: ils ont été créés par une partie de l'Android de l'infrastructure.
J'ai supprimé et instantanément enregistrés 58 MO, qui n'a pas été attribué dans l'application des Paramètres pour toute application particulière. J'ai un petit appareil de façon à 58 MO est très important (environ 40%).
Jusqu'à présent, je n'ai pas eu INSTALL_FAILED_INSUFFICIENT_STORAGE à nouveau après de nombreuses pistes. Espérons qu'était la vraie question, bien que l'OP suggère que son appareil avait beaucoup d'espace (mais ne le dis pas combien).
J'espère que certains d'entre vous serez également en mesure d'échapper à INSTALL_FAILED_INSUFFICIENT_STORAGE en supprimant régulièrement
/data/klog/*
.Ou, vous pouvez au moins faire le
ls -a -l -R
dans/data
de voir où votre espace, si en effet il y a vraiment certain (caché) de l'espace de problème.ls
commande devientls -alR
Suivant permet de:
Ouvrir un shell à l'appareil
Naviguer vers le répertoire temporaire où les entrants APK est d'abord copié
Une liste des fichiers et de les supprimer comme souhaité
Cela a été pour moi d'une fiabilité jusqu'à présent sur un périphérique réel.
EDIT: Ce qui s'est avéré être pas aussi fiable qu'une solution comme celle ci-dessus.
J'ai essayé un certain nombre de solutions. Rien de vraiment aidé. J'ai enfin trouvé une application appelée SD Maid. Cela a aidé.
Il dit que la fonctionnalité est limitée sur le non racinées appareils. Le mien est enracinée si il serait bon de voir entendre des gens efficaces, c'est dans ces scénarios et si c'était juste un coup de chance que cela a fonctionné pour moi (c'est un problème de toute façon imprévisible).
REMARQUE: je n'ai rien à voir avec l'application. Viens de le trouver avec une recherche.
J'ai résolu en y
android:installLocation="auto"
à l'intérieur de<manifest>
balise AndroidManifest.xml fichier.Error: ADB exited with exit code 1 adb: failed to install build\app\outputs\apk\app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE] Error launching application on Android SDK built for x86.
J'avais ajouté une ligne supplémentaire à l'application le fichier de manifeste, qui est
android:installLocation="preferExternal"
. en utilisant cette ligne, il oblige à installer l'application sur le stockage externe. voir l'exemple ci-dessous,Un problème lié à l'émulateur, c'est quand il n'y plus de place dans le
/data
partition.Par exemple,
Voici un exemple de vue de la
/data/app
répertoire:J'ai enlevé les extra APK fichiers. Il semble à chaque installation, vous obtenez un nouveau fichier APK. Seulement supprimer les fichiers APK.
Par exemple,
Dans mon cas, le problème a été causé par
com.android.providers.media
app. J'ai été confronté à ce sur x86 émulateur android. Qu'ai-je à faire:Trop faible espace libre sur
/data
Presque tout a été consommé par une seule application! C'est le système de l'app donc, je considère préférable de ne pas le supprimer. Au lieu de cela j'ai nettoyé les données de l'application.
Disque a été effacé et application installée avec succès.
Je me sens un peu bizarre d'écrire cela, mais je ne peux pas être sûr à 100% que c'est pas vrai dans certains cas (il a travaillé pour moi). Si vous avez les symptômes suivants:
Ensuite, essayez ceci:
J'ai débranché mon téléphone et laisser reposer TOUTE la JOURNÉE. Ma batterie s'est estompé un peu. Après cela, j'ai rebranché et il a commencé le débogage de nouveau. Tout a bien fonctionné cette fois-ci! Et je veux dire vraiment, vraiment bien, comme avant.
Est-il possible que cette erreur peut être due à certains liées à la batterie substance matérielle? Il se sent toujours bizarre de penser de cette façon, mais maintenant, je garde de débrancher mon téléphone chaque maintenant et puis (et la nuit) et le problème n'a pas de retour.
De répondre à la très premier post de ce sujet...
Symptôme : Certaines application ne s'installe pas en disant: il n'y a pas d'espace
et dans reallity il ya beaucoup d'espace libre sur le stockage interne et externe !!!
Solution: désactiver externe d'installation par défaut.
Réglage externe installer par defaut avec ceci:
Rend impossible d'installer sur de nombreuses applications qui ne peuvent pas installer à l'extérieur (comme adblock + ou presque)
Alors la solution est
Ou
Samsung Galaxy Ace annonce 158 MO de stockage interne dans son cahier des charges, mais le cœur des applications et des services consomment environ 110 MO de cela (j'ai utilisé le gestionnaire de tâches sur l'appareil pour inspecter ce). Mon application a été de 52 MO, car il avait beaucoup de biens. Une fois que j'ai supprimé certains de ces 45 MO, l'application a réussi à l'installer sans problème. L'appareil était encore en m'alertant que le stockage interne est presque plein, et je dois désinstaller certaines applications, même si je n'avais qu'une application installée sur l'appareil.
Après l'installation d'une version de l' .apk bundle puis de le désinstaller, mon appareil affiche 99 MO d'espace libre, donc ça peut être des informations de débogage d'encombrer l'appareil, après tout. Voir Louis Semprini réponse.
Dans Eclipse,
Run -- > Debug Configurations --> Select "target",
et sélectionnez un émulateur préféré objectif de lancer.Puis en Dessous "supplémentaires émulateur options de ligne de commande," ajouter ceci:
Puis FERMER l'émulateur et cliquez sur l'icône de débogage, qui va lancer l'émulateur préféré que vous avez sélectionné.
Espère que ça Aide...!
Android Virtual Device Manager
utilisateurs. Vous pouvez réglage de la taille de la partition à 1024 comme "Stockage Interne" qui représentent àdisk.dataPartion.size
J'ai rencontré ce problème avec mon nouveau Nexus 4 et une APK construit avec Adobe AIR. J'ai déjà eu android:installLocation="preferExternal" dans mon manifeste. J'ai remarqué que j'étais également un appel
adb install
avec le-s
option (package d'Installation sur le partage de stockage de masse tels que la carte sd.) ce qui semblait exagéré.Retrait de la
-s
drapeau deadb install
résolu le problème pour moi.Que ce problème existe encore, je pensais que je voudrais ajouter quelque chose à RacZo réponse à des fins de développement. Si vous n'êtes pas à l'aide de la Eclipse plugin ou pour quelque raison que ce soit vous n'avez pas la source, mais juste le .apk, vous pouvez augmenter la taille de la partition à partir de la ligne de commande en utilisant la même option lorsque vous lancez l'émulateur:
Autant que je sache, Cette option n'est pas documenté au developer.android.com, donc je pensais que je poste ici donc, les gens pourraient trouver cette solution.
avd
Je suis tombé sur cette question, parce que j'ai été faire cette erreur à l'aide de la Sideload Merveille de la Machine pour installer les applis sur mon téléphone. J'ai trouvé le problème était que j'avais plusieurs .les fichiers apk dans le dossier /charge utile répertoire. Je pensais que c'était quelque chose qui a été pris en charge, mais quand j'ai enlevé tous, mais un seul .apk, l'erreur a disparu.
Il vous suffit de désinstaller l'application à partir de l'émulateur soit en ligne de commande ou accédez à paramètres, puis désinstaller l'application. Cela arrêtera l'erreur de venir.
Si vous utilisez un périphérique réel, vous avez tout simplement à court de mémoire interne. Il suffit d'aller à paramètres Android -> Applications, et déplacer des applications vers la carte SD ou de désinstaller des applications.
Si vous utilisez l'émulateur, voir RacZo réponse.
Je suis tombé sur la même erreur quand j'ai essayé de lot installer environ 50 applications dans le Carte SD répertoire à l'aide de la BAD shell après une ROM de mise à jour:
Certains d'entre eux sont installés, mais de nombreux a échoué avec l'erreur INSTALL_FAILED_INSUFFICIENT_STORAGE. Toutes les applications avaient échoué espace dans leur nom. J'lot renommé et a essayé de nouveau. Tout a bien fonctionné cette fois. Je n'ai pas fait de redémarrer ou de quoi que ce soit. Peut-être que c'est pas le problème les gars, vous faites face, mais cela peut aider quelqu'un à la recherche, avec le même problème que j'ai rencontrés.
J'ai essayé le suivant:
Vérifier si elle fonctionne de la même manière avec vous.
Émulateur solution
Ouvrir votre
.Android
répertoire. Habituellement dans votre répertoire home. Ensuite, allez àavd
puis ouvrez le répertoire qui porte le nom de l'avd vous souhaitez modifier.Maintenant modifier le
config.ini
fichier et ajoutez la ligne suivante ou modifier la ligne suivante:disk.dataPartition.size=1024
Où
1024
est la taille que vous souhaitez utiliser dans MO. Enregistrez le fichier, puis démarrez votre émulateur avecwipe user data
vérifié. Votre émulateur devriez maintenant avoir la nouvelle taille.La solution est simple.
Ouvrir l'AVD Manager. Modifier votre AVD.
Dans la section matériel, il y a quelques propriétés répertoriées pour le "Nouveau..." et "Supprimer" à droite de celui-ci.
Appuyez Sur Nouveau. Sélectionnez les Données de taille de la Partition. Réglé sur "512" (la MO est requis). Et vous avez terminé. si vous avez encore des questions, une augmentation de votre système et cache aussi aux partitions à l'aide de la même méthode.
Tout est documenté ici:
http://developer.android.com/guide/developing/devices/managing-avds.html
Assurez-vous de ne pas connecter votre appareil android avec l'usb, tout en essayant d'exécuter l'émulateur
Si vous exécutez votre application sur un émulateur, et si ce problème persiste, consultez votre gestionnaire de notification. Si il vous montre une icône et à la notification à propos de "la mémoire du Téléphone est pleine", cela signifie que vous avez déjà installé de nombreuses applications sur votre émulateur. Désinstaller plusieurs applications dont vous ne souhaitez pas actuellement de "Paramètres >> Gérer >> Sélectionnez l'Application >> Désinstaller".
À Cet Ensemble.
Maintenant, exécutez de nouveau le programme.
J'ai eu cette erreur aujourd'hui, lorsque j'utilise mon téléphone pour les tests et le débogage avec Eclipse.
Mon erreur est que j'ai utilisé norvégien caractère spécial ("æ", "o", "a") dans le nom de l'application. Quand j'ai refait le nom de l'application (à l'aide de "o" au lieu de "ø") l'application a été installée correctement..
Probablement pas votre problème, mais il pourrait être la note pour les autres personnes de la même erreur.
Après avoir essayé tout le reste dans ce fil, j'ai trouvé mon problème était que le chemin à la .apk fichier est trop long. J'ai donc cd ed du répertoire où le .apk a été fait:
au lieu de
Et cela a fonctionné...installé de la même amende.
Juste pensé que cela pourrait aider quelqu'un d'autre.
Dans mon cas, il a obtenu résolu en augmentant la mémoire étendue d'eclipse, en changeant la valeur de -Xmx768m dans eclipse.ini
J'ai fini par désinstaller l'application à partir de l'appareil, puis de la réinstaller à dos dans Eclipse. C'est un problème que je reçois tout le temps sur mon appareil de l'utilisation régulière, mais aujourd'hui, j'ai reçu ce message de développement.
Solution de contournement:
Compiler comme 2.1 sans
android:installLocation="preferExternal"
.OK?
De la compilation que de 2,2 y compris
android:installLocation="preferExternal"
.Ce sera toujours installer sur la version du SDK de moins de 8 (la balise XML est ignoré).
J'ai moi aussi été confronté au même problème, et j'ai fait une "réinitialisation des données d'Usine", et il a bien fonctionné par la suite.
Je n'ai pas l'accès root sur mon téléphone et je suis pas préparé pour mon installation de l'application sur la carte SD. 15 MO d'espace disponible sur
/data/
et ma demande est de moins de 2 MO.Pendant un certain temps, j'y suis arrivé; nettoyage de la Eclipse projet et de redémarrer le téléphone, mais finalement qui a cessé de fonctionner (sans doute après une mise à jour).
Le nettoyage de mon cache de l'application a résolu le problème pour moi et ne nécessite pas un redémarrage du téléphone ou de la désinstallation de l'application.
Il existe des applications sur le marché que vous pouvez utiliser pour effacer le cache de plusieurs applications à la fois. Recherche pour "nettoyer".
Un peu de temps, mais il devrait fonctionner dans tous les cas:
Connecter via USB et activer le stockage USB. Copiez le APK fichier de votre construction pour le téléphone (vous devrez peut-être autoriser les sources inconnues sous paramètres de l'application).
Puis appuyez simplement sur le fichier APK et Android les installer. Comme je l'ai dit, il est temps de consommer, mais il pourrait être plus rapide que le redémarrage de chaque maintenant et puis.