Solution à l'erreur INSTALL_FAILED_INSUFFICIENT_STORAGE sur Android [fermé]


525

L' INSTALL_FAILED_INSUFFICIENT_STORAGEerreur est le fléau de la vie de chaque développeur Android. Cela se produit indépendamment de la taille de l'application ou de la quantité de stockage disponible. Le redémarrage du périphérique cible résout brièvement le problème, mais il revient rapidement. Il y a des centaines (sinon des milliers) de messages sur le babillard électronique de personnes demandant pourquoi le problème se produit, mais les gens de Google sont frustrants et silencieux sur la question.

Il existe une solution de contournement simple. Si votre appareil de test exécute Android 2.2 ou une version ultérieure, ajoutez l' android:installLocationattribut au fichier manifeste de votre application, avec la valeur "preferExternal". Cela forcera l'application à être installée sur le stockage externe de l'appareil, comme la carte SD d'un téléphone.

Par exemple:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.andrewsmith.android.darkness"
          android:installLocation="preferExternal"

Il s'agit plus d'un pansement que d'un correctif, et il peut ne pas être idéal si vous souhaitez que votre application terminée s'installe sur la mémoire interne de l'appareil. Mais cela rendra au moins le processus de développement beaucoup moins frustrant.


est-ce que ça va fonctionner pour Android API niveau 4 ou 1.6 ??
mAc

j'ai reçu ce msg dans le fichier manifeste: -> erreur: aucun identifiant de ressource trouvé pour l'attribut 'installLocation' dans le paquet 'android' Aide Pls
quelqu'un_ smiley

1
@AndrewSmith: pourriez-vous s'il vous plaît répondre à votre question? Je suis juste tombé sur cette question pendant l'examen, car elle est signalée comme n'étant pas une vraie question . Bien que le drapeau soit fondamentalement correct, il serait dommage que la solution soit perdue.
vérifie le

La première chose à faire est de savoir si le problème est réellement lié à l'espace! Voir ma réponse sur cette question pour plus de détails.
Robert Siemer

1
J'ai eu cette erreur sur l'émulateur Android. Dans Android Studio - AVD Manager, il existe une option pour effacer les données sur un appareil spécifique. Cela a résolu mon problème
Aseem

Réponses:


178

Il s'agit uniquement d'une solution de contournement temporaire et non d'une véritable solution.

Après que cela m'arrive et que je n'étais pas satisfait des réponses actuelles, je suis allé travailler pour essayer de le comprendre à partir de la source AOSP. J'ai trouvé une VRAIE solution.

Explication

Tout d'abord, un peu de contexte (simplifié) sur la façon dont les installations et les mises à jour d' Android

La première fois qu'une application est installée:

  1. Le fichier APK est enregistré sous

    /data/app/<full.package.name>-1.apk  (1.apk)

Quand l'application doit être mise à jour:

  1. Le fichier APK mis à jour est enregistré sous:

    /data/app/<full.package.name>-2.apk (2.apk)
  2. La première version (1.apk) est supprimée.

Sur nos prochaines mises à jour:

  1. Le nouveau fichier APK est enregistré sous (1.apk) et (2.apk) est supprimé (Répéter pour toujours).

 

Le problème que la plupart d'entre nous rencontrons se produit lorsque l'application est mise à jour, mais la suppression de l'ancien APK échoue. Ce qui lui-même ne provoque pas encore l'échec de la mise à jour, mais 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 son fichier temporaire car ni (1.apk) ni (2.apk) ne sont vides. Étant donné que File # renameTo (File) ne génère pas d'exception mais renvoie à la place un PackageManager booléen, il n'a aucun moyen de dire pourquoi il renvoie INSTALL_FAILED_INSUFFICIENT_STORAGE même si l'échec n'a rien à voir avec la quantité d'espace libre.

Solution

Courir:

adb shell "pm uninstall <full.packge.name>"
adb shell "rm -rf /data/app/<full.package.name>-*"

OU

Désinstaller l'application

Utilisez votre méthode préférée pour supprimer LES DEUX :

/data/app/<full.package.name>-1.apk

/data/app/<full.package.name>-2.apk

Assurez-vous que rien d'autre ne bloque les futures installations de la même manière. Dans mon cas, j'avais un /data/app-lib/<full.package.name>-1répertoire qui traînait! Dans ce cas, une installation sur la carte SD a fonctionné et un déplacement ultérieur vers la mémoire interne également. (Créer /data/app-lib/<full.package.name>sans la -1fin.)

Pourquoi d'autres "solutions" ont fonctionné

  • Le code d'installation sur un stockage externe est significativement différent ce qui ne pose pas les mêmes problèmes

  • La désinstallation de l'application supprime uniquement une version du fichier APK dans /data/app. C'est pourquoi vous pouvez le réinstaller une fois, mais pas le mettre à jour.

  • La quantité d'espace libre dans un émulateur n'est pas vraiment pertinente lorsque ce bogue se produit


9
@ Msmit1993, vous n'avez pas accès au répertoire de données sur un périphérique non rooté. Avoir SDK et ADB n'a pas d'importance.
Stan

3
Pour les vraiment paresseux, voici un extrait de bash: 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
gnmerritt

1
J'ai aussi essayé android:installLocation="preferExternal"mais en vain, rien ne fonctionne dans mon cas. J'utilise un véritable appareil pour les tests. Quelle est la solution dans ce cas?
Ram Patra

1
Je devais effacer/data/local/tmp
18446744073709551615

1
Dans mon cas, j'ajoute pour installer l'application avec adb install -f ... Il refusait de l'installer autrement, même si j'avais 1,7 Go de libre dans la mémoire interne; c'est peut-être parce que je n'avais pas de carte SDCARD. Mais avec l'option -f, au moins cela a fonctionné, je ne sais pas pourquoi ...
xtof54

108

Vous devez augmenter la capacité de mémoire de l'émulateur Android. Il y a deux façons pour cela:

  1. Cliquez avec le bouton droit sur la racine de votre projet Android, accédez à "Exécuter en tant que", puis accédez à "Exécuter les configurations ...". Localisez le nœud "Application Android" dans l'arborescence à gauche, puis sélectionnez votre projet et accédez à l'onglet "Cible" sur le côté droit de la fenêtre, recherchez le champ "Options d'émulation de ligne de commande supplémentaires" (parfois vous ' ll faudra agrandir la fenêtre) et enfin y coller "-partition-size 1024". Cliquez sur Appliquer puis sur Exécuter pour utiliser votre émulateur.

  2. Accédez aux Préférences d' Eclipse , puis sélectionnez «Lancer» Ajouter «-partition-size 1024» dans le champ «Option d'émulateur par défaut». Cliquez sur «Appliquer» et utilisez votre émulateur comme d'habitude.


103
Oscar, vous présumez que cela se produit sur le simulateur. Dans mon cas, cela se produit sur le périphérique réel, auquel cette réponse ne répond pas.
Jeff Axelrod

La deuxième option ne semblait pas fonctionner pour moi. Mais l'option 1 l'a fait! Super truc! Et travaillé avec un émulateur 2.1.
DonnaLea

Cela n'a pas fonctionné pour moi, probablement parce que j'ai des instantanés activés? Comment puis-je obtenir l'émulateur pour démarrer Android à partir de zéro avec la nouvelle option -partition-size?
Timmmm

Perdu sur l'option 1 - Je n'ai pas d'onglet "Cible" dans ecclipse à cet endroit.
Ted Betz

La 2ème option a fonctionné pour moi, merci pour le post gud @RacZo
DD.

31

Merci d'avoir posté cette question. J'ai quelques informations supplémentaires qui peuvent aider certains développeurs.

Je débogue mon application sur un appareil (pas l'émulateur). L'appareil dispose de 21 Mo d'espace libre /data(comme l'a révélé "df" lorsque vous faites "adb shell") et mon application ne fait que 5 Mo. Cependant, j'ai constaté que si je supprimais d'autres applications sur l'appareil (sans redémarrer le téléphone ni redémarrer adbd), INSTALL_FAILED_INSUFFICIENT_STORAGE disparaîtrait pendant un certain temps, puis reviendrait.

Il semble donc que le débogage de mon application de 5 Mo nécessite plus de 20 Mo d'espace /data, et en plus quelque chose fuyait à chaque fois que je déboguais mon application.

J'ai donc fait "adb shell" et répertorié le /datarépertoire ENTIER avec

cd /data
ls -a -l -R

Et j'ai regardé la sortie de 5000 lignes pour voir où allait tout l'espace.

J'ai découvert de grandes quantités d'espace perdu sur mon appareil dans le /data/klogrépertoire sous la forme d'anciens fichiers journaux de sessions de débogage vieilles de plusieurs mois.

Ce n'étaient pas mes fichiers journaux: ils ont été créés par une partie de l'infrastructure Android.

Je les ai supprimés et j'ai instantanément économisé 58 Mo qui n'étaient attribués dans l'application Paramètres à aucune application particulière. J'ai un petit appareil donc 58 Mo est très important (environ 40%).

Jusqu'à présent, je n'ai pas récupéré INSTALL_FAILED_INSUFFICIENT_STORAGE après plusieurs exécutions. Espérons que c'était le vrai problème, bien que l'OP suggère que son appareil avait beaucoup d'espace (mais n'a pas dit combien).

J'espère que certains d'entre vous pourront également échapper à INSTALL_FAILED_INSUFFICIENT_STORAGE en les supprimant périodiquement /data/klog/*.

Ou, vous pouvez au moins faire l' ls -a -l -Rin /datapour voir où va tout votre espace, s'il y a vraiment un problème d'espace (caché).


26
une idée comment faire cela sur un téléphone non rooté? Je n'ai pas accès au répertoire de données. great post btw +1
Rich

1
Merci pour l'info. Pour info, vous pouvez consolider les drapeaux sous Unix pour que la lscommande deviennels -alR
mharper

1
Avec un accès root, faites: # su # du / data | trier -g pour obtenir une liste des dossiers / fichiers classés par taille
JuanMa Cuevas

@JuanMaCuevas durépertorie uniquement les dossiers.
naXa

@Rich, essayez de télécharger l'application tierce Astro File Manager. Il est très populaire et vous donne accès aux fichiers de votre téléphone. play.google.com/store/apps/…
Azurespot

22

Les aides suivantes:

  • Ouvrez un shell sur l'appareil

    adb shell
  • Accédez au répertoire temporaire dans lequel l'APK entrant est copié pour la première fois

    cd /data/local/tmp
  • Répertoriez les fichiers disponibles et supprimez comme vous le souhaitez

    rm * // use at your own risk, good practice to list files first

Jusqu'à présent, cela a été fiable pour moi sur un appareil réel.


EDIT: Cela s'est avéré ne pas être une solution aussi fiable que celle ci-dessus.

J'ai essayé un certain nombre de solutions. Rien n'a vraiment aidé. Enfin, j'ai trouvé une application appelée SD Maid . Cela m'a aidé.

Il indique que la fonctionnalité est limitée aux appareils non rootés. Le mien est enraciné, donc ce serait bien de voir des gens parler de son efficacité dans ces scénarios et si ce n'était qu'un coup de chance qu'il a fonctionné pour moi (c'est un problème imprévisible de toute façon).

REMARQUE: je n'ai rien à voir avec l'application. Je viens de le trouver avec une recherche.


Cela m'a aidé .. Certaines de mes applications précédentes sont stockées dans le dossier tmp. Après avoir retiré ceux qui fonctionnent bien ..
Mahendran Sakkarai

19

Je l'ai résolu en incluant la balise android:installLocation="auto"inside <manifest>dans le fichier AndroidManifest.xml.


Fonctionne en effet. Merci.
Teddy

C'est le seul correctif qui a fonctionné pour moi, sur un vrai appareil. Merci.
Shah Abaz Khan

simplement et joliment
working.thanks

j'ai ajouté ces lignes de code, mais j'obtiens toujours cette erreurError: 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.
Husna

Meilleure solution pour travailler avec l'émulateur. Merci!
Br0wn

16

J'avais ajouté une ligne supplémentaire au fichier manifeste de l'application, qui est android:installLocation="preferExternal". en utilisant cette ligne, il force à installer l'application sur le stockage externe. voir l'exemple ci-dessous,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >

11

Un problème connexe sur l'émulateur est quand il n'y a plus d'espace dans la /datapartition.

Par exemple,

% adb shell df

Filesystem             Size   Used   Free   Blksize
/dev                   252M    32K   252M   4096
/mnt/asec              252M     0K   252M   4096
/mnt/obb               252M     0K   252M   4096
/system                154M   154M     0K   4096
/data                   64M    57M     6M   4096
/cache                  64M     1M    62M   4096

Voici un exemple de vue du /data/apprépertoire:

% adb shell ls -l /data/app

-rw-r--r-- system   system      19949 2011-10-12 17:09 CubeLiveWallpapers.apk
-rw-r--r-- system   system      27670 2011-10-12 17:09 GestureBuilder.apk
-rw-r--r-- system   system      34341 2011-10-12 17:09 SoftKeyboard.apk
-rw-r--r-- system   system      20151 2011-10-12 17:09 WidgetPreview.apk

J'ai supprimé les fichiers APK supplémentaires . Il semble qu'à chaque installation, vous obtenez un nouveau fichier APK. Supprimez simplement les fichiers APK supplémentaires.

Par exemple,

adb shell rm /data/app/com.brooklynmarathon.calendarapi2-1.apk

2
1. exécutez "adb shell" 2. cd dans chaque répertoire de données, et trouvez ceux avec de gros fichiers inutiles. 3. supprimez-les en utilisant "rm (nom de fichier)" 4. mes problèmes récurrents sont avec la corbeille comme "ApiDemos" et "dalvik-cache" (supprimez simplement tout le contenu de celui-ci)
Adam

9

Dans mon cas, l'échec a été causé par l' com.android.providers.mediaapplication. J'ai fait face à cela sur l'émulateur Android x86. Qu'est-ce que j'ai fait:

$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M   209M    14M   4096
....

Espace libre trop bas sur /data

$ adb shell du /data
...
409870  /data/data/com.android.providers.media
...

Presque tout a été consommé par une seule application! C'est une application système, donc je pense qu'il vaut mieux ne pas la supprimer. Au lieu de cela, j'ai nettoyé les données de l'application.

$ adb shell pm clear com.android.providers.media
Success
$ adb shell df
Filesystem             Size   Used   Free   Blksize
...
/data                  224M     8M   215M   4096
...

Le disque a été effacé et l'application a été installée avec succès.


C'est la seule solution qui a fonctionné pour moi. Après 2 heures! :)
Ruchir Baronia

6

Je me sens un peu bizarre en écrivant ceci, mais je ne peux pas être sûr à 100% que ce n'est pas vrai dans certains cas (cela a fonctionné pour moi). Si vous aviez les symptômes suivants:

  • Vous travaillez avec un appareil physique (dans mon cas, Samsung Galaxy Ace),
  • Vous développez depuis quelques jours,
  • Votre téléphone était connecté tout le temps , jour et nuit.
  • Vous avez commencé à obtenir cette erreur après quelques jours, et cela a continué à s'aggraver.
  • Aucune des autres réponses n'a fonctionné pour vous.
  • Tu es aussi résigné que moi ...

Ensuite, essayez ceci:

  • Débranchez votre téléphone lorsque vous ne travaillez pas!

J'ai débranché mon téléphone et l'ai laissé reposer TOUT LE JOUR. Ma batterie s'est un peu déchargée. Après cela, je l'ai reconnecté et j'ai recommencé le débogage. Tout a bien fonctionné cette fois! Et je veux dire vraiment très bien, comme avant.

Est-il possible que cette erreur soit due à des éléments matériels liés à la batterie ? C'est toujours bizarre de penser de cette façon, mais maintenant je continue de déconnecter mon téléphone de temps en temps (et pour la nuit) et le problème ne revient pas.


Cela m'arrive tout le temps - sur tous mes appareils. Pendant la cause d'une journée, les choses commencent généralement à échouer à la fin de chaque journée. C'est tellement ennuyeux et son incroyable Google n'a pas encore corrigé cela ...
slott

Même comportement pour moi mais le redémarrage du téléphone a résolu mon problème de manière persistante.
bdevay

6

Répondre au tout premier post de ce sujet ...

Symptôme: certaines applications ne s'installent pas, disant qu'il n'y a pas d'espace et qu'en réalité il y a beaucoup d'espace libre sur le stockage interne et externe !!! Solution: désactivez l'installation externe par défaut.

Configuration de l'installation externe par défaut avec ceci:

adb shell pm set-install-location 2

Rend l'installation impossible sur de nombreuses applications qui ne peuvent pas être installées en externe (comme adblock + ou plus)

Ensuite, la solution est

adb shell pm set-install-location 0

Ou

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external

Je commençais à penser que la mémoire interne de ce téléphone était cassée, mais le réglage de l'emplacement d'installation sur 1 a résolu le problème de "l'espace insuffisant". Merci!
Wodin

6

J'ai essayé ce qui suit:

  • Redémarré mon appareil
  • APK précédent supprimé
  • Reconstruire mon APK
  • Désinstaller ma copie précédente sur l'appareil
  • Réinstaller

Vérifiez si cela fonctionne de la même manière avec vous.


3
Oui, le redémarrage de l'appareil était le seul à fonctionner (après avoir essayé plusieurs solutions à partir de cette page)
Sulea Cosmin

Redémarrer le travail de l'appareil :)
cinobili19

5

Samsung Galaxy Ace annonce 158 Mo de stockage interne dans ses spécifications, mais les applications et services de base en consomment environ 110 Mo (j'ai utilisé le gestionnaire de tâches sur l'appareil pour l'inspecter). Mon application faisait 52 Mo, car elle avait beaucoup d'atouts. Une fois que j'ai supprimé certains d'entre eux jusqu'à 45 Mo, l'application a réussi à s'installer sans problème. L'appareil m'avertissait toujours que le stockage interne était presque plein, et je devrais désinstaller certaines applications, même si je n'avais qu'une seule application installée.

Après avoir installé une version finale du bundle .apk, puis l'avoir désinstallé, mon appareil affiche 99 Mo d'espace libre, il pourrait donc déboguer des informations encombrant l'appareil après tout. Voir la réponse de Louis Semprini .


4

Dans Eclipse,

Run -- > Debug Configurations --> Select "target", et sélectionnez une cible d'émulateur préférée à lancer.

Ensuite, sous "Options de ligne de commande d'émulateur supplémentaires", ajoutez ceci:

-partition-taille 1024

Ensuite, fermez l'émulateur et cliquez sur l'icône de débogage, qui lancera l'émulateur préféré que vous avez sélectionné.

entrez la description de l'image ici

J'espère que cela aide...!


Astuce pour les Android Virtual Device Managerutilisateurs. Vous pouvez définir la taille de la partition à 1024 en tant que «stockage interne», ce qui représentedisk.dataPartion.size
intrusion

3

J'ai rencontré ce problème avec mon nouveau Nexus 4 et un APK construit avec Adobe AIR. J'avais déjà android: installLocation = "preferExternal" dans mon manifeste. J'ai remarqué que j'appelais également adb installavec l' -soption (Installer le package sur le stockage de masse partagé tel que sdcard.) Qui semblait exagéré.

La suppression du -sdrapeau de adb installrésolu le problème pour moi.


1
+1, bon, -s ne doit être utilisé que si la version précédente installée est remplacée.
AAnkit

3

Comme ce problème existe toujours, j'ai pensé ajouter quelque chose à la réponse de RacZo à des fins de développement. Si vous n'utilisez pas le plugin Eclipse ou pour une raison quelconque, 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:

emulator -avd <emulator name> -partition-size 1024

Pour autant que je sache, cette option n'est pas documentée sur developer.android.com, donc j'ai pensé la publier ici pour que les gens trouvent cette solution.


c'est de loin la meilleure option car elle n'implique pas la mise à jour d'un fichier ni l'utilisation d'une application, justeavd
7ynk3r

2

Je suis tombé sur cette question parce que j'obtenais cette erreur en utilisant Sideload Wonder Machine pour installer des applications sur mon téléphone réel. J'ai trouvé que le problème était que j'avais plusieurs fichiers .apk dans le répertoire / payload. Je pensais que c'était quelque chose qui était pris en charge, mais lorsque j'ai supprimé tous les fichiers .apk sauf un, l'erreur a disparu.


2

Désinstallez simplement l'application de l'émulateur à partir de la ligne de commande ou accédez aux paramètres et désinstallez l'application. Cela empêchera l'erreur de se produire.


2

Si vous utilisez un véritable appareil, vous n'avez tout simplement plus de mémoire interne. Accédez simplement aux paramètres Android -> Applications et déplacez certaines applications sur la carte SD ou désinstallez certaines applications.

Si vous utilisez l'émulateur, consultez la réponse de RacZo .


9
Nous parlons de l'erreur de stockage insuffisant qui se produit quand il y a beaucoup de stockage disponible.
user999717

2

Je suis tombé sur la même erreur lorsque j'ai essayé d'installer par lots environ 50 applications dans le répertoire de la carte SD à l'aide du shell ADB après une mise à jour complète de la ROM:

for x in *.apk; do pm install -r $x; done

Certains d'entre eux ont été installés, mais beaucoup ont échoué avec l'erreur INSTALL_FAILED_INSUFFICIENT_STORAGE. Toutes les applications ayant échoué avaient de l'espace en leur nom. Je les ai renommés par lot et réessayé. Tout a fonctionné cette fois. Je n'ai pas redémarré ou quoi que ce soit. Peut-être que ce n'est pas le problème auquel vous êtes confrontés, mais cela pourrait aider quelqu'un à rechercher le même problème que moi.


Je remarque également que lorsque je manque d'épeler le nom de l'application, cette même erreur arrive parfois. C'est un message d'erreur trompeur dans mon cas.
Insilico

1

Solution d'émulation

Ouvrez votre .Androidannuaire. Généralement dans votre répertoire personnel. Ensuite, allez dans avd, puis ouvrez le répertoire portant le nom de l'avd que vous souhaitez modifier.

config.iniModifiez maintenant le fichier et ajoutez la ligne suivante ou modifiez la ligne suivante:

disk.dataPartition.size=1024

Quelle 1024est la taille que vous souhaitez utiliser en Mo. Enregistrez le fichier, puis démarrez votre émulateur avec wipe user datacoché. Votre émulateur devrait maintenant avoir la nouvelle taille.


1

La solution est simple.

Ouvrez le gestionnaire AVD. Modifiez votre AVD.

Dans la section matériel, certaines propriétés sont répertoriées avec "Nouveau ..." et "Supprimer" à droite de celui-ci.

Appuyez sur Nouveau. Sélectionnez la taille de la partition de données. Réglez sur "512 Mo" (le Mo est requis). Et tu as fini. si vous rencontrez toujours des problèmes, augmentez également votre système et vos partitions de cache en utilisant la même méthode.

Tout est documenté ici: http://developer.android.com/guide/developing/devices/managing-avds.html


2
La partition de données n'est pas une option disponible avec l'API Google Niveau 14
Ted Betz

1

Assurez-vous de ne pas connecter votre appareil Android avec USB tout en essayant d'exécuter l'émulateur


1

Si vous exécutez votre application sur un émulateur et si ce problème persiste, consultez votre gestionnaire de notifications. S'il vous montre une icône et une notification sur "La mémoire du téléphone est pleine", cela signifie que vous avez déjà installé autant d'applications sur votre émulateur. Désinstallez plusieurs applications que vous ne souhaitez pas actuellement dans "Paramètres >> Gérer l'application >> Sélectionnez l'application >> Désinstaller".
Cet ensemble.
Réexécutez maintenant le programme.


1

J'ai eu cette erreur aujourd'hui, lorsque j'utilise mon téléphone pour tester / déboguer avec Eclipse.

Mon erreur est que j'ai utilisé le caractère spécial norvégien ("æ", "ø", "å") dans le nom de l'application. Lorsque j'ai refactorisé le nom de l'application (en utilisant "o" au lieu de "ø"), l'application a été installée correctement.

Ce n'est probablement pas votre problème, mais pourrait être noté pour d'autres personnes obtenant la même erreur.


1

Après avoir essayé tout le reste de ce fil, j'ai découvert que mon propre problème était dû au fait que le chemin vers le fichier .apk était trop long. J'ai donc cd'ed dans le répertoire où se trouvait le .apk et j'ai fait:

cd /Very/Long/Path/To/Package/
adb install mypackage.apk

au lieu de

adb install /Very/Long/Path/To/Package/mypackage.apk

Et cela a fonctionné ... installé très bien.

Je pensais juste que cela pourrait aider quelqu'un d'autre.


Je pourrais ajouter que faire du répertoire un lien symbolique m'a permis de créer des builds à partir de l'IDE et de déboguer: ln -s / Users / abc / a \ ridiculously \ long \ directory \ path / subpath / subsubpath / subsubsubpath / shortpath
David van Dugteren

1

Solution de contournement:

Compilez en 2.1 sans android:installLocation="preferExternal".

D'accord?

Compilez en 2.2, y compris android:installLocation="preferExternal".

Cela sera toujours installé sur la version SDK inférieure à 8 (la balise XML est ignorée).


0

Dans mon cas , il a été réparé en augmentant la mémoire étendue de l' éclipse, en changeant la valeur de -Xmx768m dans eclipse.ini


0

J'ai fini par désinstaller l'application de l'appareil, puis la réinstaller dans Eclipse. C'est un problème que j'obtiens tout le temps sur mon appareil à partir d'une utilisation régulière, mais aujourd'hui, j'ai reçu ce message du développement.


0

Moi aussi, j'ai fait face au même problème, et j'ai fait une "réinitialisation des données d'usine", et cela a bien fonctionné après cela.


8
Je ne recommanderais vraiment pas cela comme solution. Surpuissance totale.
Tim

3
Il efface vos / données, ce qui libère de l'espace pour que les installations fonctionnent à nouveau. Un instrument très contondant et non une solution. L'erreur peut revenir après quelques applications.
user999717

22
C'est l'équivalent du médecin qui dit: je ne sais pas ce qui ne va pas avec votre bras, donc je le coupe.
Derek

0

Je n'avais pas d'accès root sur mon téléphone et je ne suis pas préparé pour que mon application soit installée sur la carte SD. 15 Mo d'espace sont disponibles sur /data/et ma demande est inférieure à 2 Mo.

Pendant un certain temps, je m'en suis sorti; nettoyer le projet Eclipse et redémarrer le téléphone, mais finalement cela a cessé de fonctionner (probablement après une mise à jour).

Le nettoyage de mon cache d'application a résolu le problème pour moi et ne nécessite pas un redémarrage du téléphone ou une désinstallation de l'application.

Il existe des applications sur le marché que vous pouvez utiliser pour vider le cache de plusieurs applications à la fois. Recherchez «propre».

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.