Comment augmenter le stockage pour l'émulateur Android? (L'INSTALLATION A ÉCHOUÉ CAR IL N'Y A PAS ASSEZ D'ESPACE DISPONIBLE)

152

Je reçois parfois (pas souvent) pour l'un de mes projets, quelques cours seulement
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

Comment augmenter le stockage de l'émulateur?

Pentium10
la source
2
Je vois cette erreur assez souvent, même lorsque l'appareil en cours d'installation a beaucoup de stockage. Gardez simplement à l'esprit que parfois, lorsque vous voyez l'erreur, ce que le message d'erreur dit n'est pas vraiment vrai.
Lance Nanek
1
@ Pentinum10 j'obtiens la même erreur sur 1.5 et 2.2, vérifiez cette question où votre aide a besoin: stackoverflow.com/questions/3584297/… , s'il vous plaît aidez-moi et attrapez-moi
Paresh Mayani

Réponses:

127

Mettre à jour

Cette réponse est, au moment où j'écris ceci, près de huit ans et environ cinq ans périmés. Mais c'est toujours (au moment où j'écris ceci) la réponse «acceptée», car elle a répondu à la question lorsqu'elle a été posée.

La nouvelle réponse, qui s'applique aux nouveaux outils Android Studio, peut être trouvée ici: https://stackoverflow.com/a/35828035/62 - c'est une excellente réponse avec des captures d'écran. Si vous utilisez Android Studio, ignorez la réponse Eclipse ci-dessous.

Réponse originale basée sur Eclipse

Je cherchais la réponse à cette question et n'étais pas satisfait des réponses ci-dessus. Mais ensuite j'ai trouvé la réponse , alors la voici pour référence future:

Pour résumer (et clarifier), dans Eclipse, allez dans "Configurations de débogage". Vous pouvez trouver cela dans le menu déroulant sous l'icône "déboguer". Sélectionnez "cible" et sélectionnez une cible d'émulateur préférée à lancer. Ensuite, sous "Options de ligne de commande de l'émulateur supplémentaires", ajoutez ceci:

-partition-taille 1024

Fermez ensuite l'émulateur (et supprimez tous les périphériques), puis cliquez sur l'icône de débogage, qui lancera l'émulateur préféré que vous avez sélectionné. Ceci est important: Eclipse doit lancer le débogueur, pas AVD.

Cela a résolu le problème pour moi.

SomeCallMeTim
la source
8
Notez que la "taille de la partition" est en mégaoctets, et que généralement pour installer un APK, vous avez besoin d'au moins deux fois plus d'espace disque que la taille de l'APK.
Christopher Orr
5
Une autre note à faire: vous devez faire un clic droit sur le projet que vous souhaitez exécuter dans eclipse -> Exécuter-> Exécuter la configuration-> Sélectionner le projet-> Cible -> faire défiler vers le bas-> ajouter -partition-size 1024 aux options Em supplémentaires-> puis lancez le projet depuis eclipse
SpoiledTechie.com
4
Google devrait ajouter ces paramètres de propriété explicites pour Android 3.2 ou 4.0. Correction du fichu plugin AVD Eclipse
peter_pilgrim
belle trouvaille ... devrait en effet être exposée à travers l'outillage ADT. L'émulateur ICS n'a que 60 Mo par défaut! impossible d'installer des APK sur la chose hors de la boîte.
ddewaele
1
Pour tous ceux qui examinent cette réponse acceptée des années plus tard comme moi, vous voudrez probablement consulter stackoverflow.com/a/35828035/62 à la place.
Liron Yahdav
90

Sur Android Studio

Ouvrez AVD Manager.

entrez la description de l'image ici

Cliquez sur Modifier l'icône pour modifier l'AVD.

entrez la description de l'image ici

Cliquez sur Afficher les paramètres avancés.

entrez la description de l'image ici

Modifiez la taille du stockage interne, de la RAM et de la carte SD si nécessaire. Cliquez sur Terminer.

entrez la description de l'image ici

Confirmez la fenêtre contextuelle en cliquant sur Oui.

entrez la description de l'image ici

Effacez les données sur l'AVD et confirmez la fenêtre contextuelle en cliquant sur Oui.

entrez la description de l'image ici

Important: après avoir augmenté la taille, s'il ne vous demande pas automatiquement d'effacer les données, vous devez le faire manuellement en ouvrant le menu déroulant de l'AVD et en choisissant Effacer les données.

entrez la description de l'image ici

Maintenant, démarrez et utilisez votre émulateur avec un stockage accru.

Cijo
la source
7
Changer le "Stockage interne" ne fait rien pour moi, avant ou après la création de l'AVD. Il arrive toujours avec 300 Mo et un avertissement d'espace faible.
Travis Christian
3
Avez-vous effacé les données du menu déroulant du gestionnaire AVD une fois que vous avez changé la taille.
Cijo
1
J'ai déjà supprimé l'AVD, mais cela se produisait également avec des images non lancées nouvellement configurées. J'ai trouvé dans une autre question que c'était un problème avec certaines API <23.
Travis Christian
OMG - merci pour cela! C'est la seule solution que j'ai trouvée qui a fonctionné!
SammyK
2
Cela devrait être la réponse acceptée, et la première à apparaître (pas les réponses liées aux anciennes Eclipse). Il ne suffit pas de changer la taille et de démarrer l'émulateur (même lorsque vous utilisez Cold Boot Now ). La clé semble être la commande Wipe Data . Merci!
Alex Vang
42

Ajoutez ce qui suit au fichier avd config.ini

disk.dataPartition.size=1024MB

Faites-moi savoir si cela fonctionne pour vous aussi.

J'ai ajouté dans la ligne Ajouter une configuration de taille de partition de données
Capture d'écran de l'espace de stockage AVD augmenté

johndacostaa
la source
Cela n'a pas fonctionné pour moi sur une image 2.3. Je ne vois toujours que 128 Mo de stockage interne disponible pour les applications.
Matthias
1
J'ai remarqué que dans l'interface utilisateur "Modifier" d'AVD Manager, essayer de définir cette valeur manuellement la réinitialisera toujours à 0. Peut-être un problème lié? Peut-être que ce n'est pas censé être défini sur certaines versions d'Android?
Matthias
2
Vous devez entrer une valeur comme, 1024MBlorsque vous utilisez AVD Manager. Vous ne pouvez pas simplement entrer Il a 1024fallu un peu de temps pour comprendre cela, et j'ai confirmé que cela fonctionne
Ronnie
19

Exécutez AVD Manager

Sélectionnez votre AVD et cliquez sur le bouton "Détails ...".

Dans mon cas, AVD Manager définit la taille du disque comme

disk.dataPartition.size=4000M

Cette valeur non valide , le disque fait environ 500 Mo malgré les nombres spécifiés.

Accédez au dossier de l'AVR par chemin dans "Détails AVD".

Modifiez-le dans config.ini pour

disk.dataPartition.size=4000MB

et supprimez tous les fichiers .img.

Proggear
la source
2
Cela devrait être la réponse choisie. Sur les versions actuelles d'Android Studio (3.0.1), les propriétés des paramètres de modification sont grisées si vous exécutez un AVD compatible Google Play. Cela a fonctionné. J'ai changé mon appareil de test à 2000 Mo à partir du 400M, supprimé tous les fichiers * .img et * .qcow2. Données effacées sur l'AVD. Ensuite, il a démarré et il avait 2000 Mo de stockage.
MLindsay
@MLindsay Je suis d'accord
mwa91
Juste pour info, je n'ai pas eu à supprimer * .img ou tout autre fichier. Le simple changement de valeur dans config.ini était suffisant.
Mohib Sheth
Merci! A travaillé pour mon cas.
android_dev
10

Je faisais une installation d'un apk:

adb install /home/me/jones_android-arm.apk

Et je recevais un message d'erreur me disant que

/data/local/tmp/jones_android-arm.apk

était trop grand. En utilisant les outils sdk de r15 et ADT 15, j'ai pu utiliser le gestionnaire AVD pour manipuler certains des paramètres de mon émulateur existant:

Window-> AVD Manager -> (select you virtual machine) -> Edit

puis en allant dans la fenêtre des propriétés du matériel juste en dessous de "Skin:" J'ai pu sélectionner avec le bouton Matériel: Nouveau 'Taille idéale de la partition'. Cependant, je n'ai pas pu définir la valeur autre que «0». Inébranlable, je suis allé dans mon répertoire $ {HOME} /. Android / avd Il y avait un répertoire «MyVm.avd». En allant dans ce répertoire, j'ai trouvé un fichier «config.ini». Il y avait l'entrée:

disk.dataPartition.size=0

J'ai mis ceci à:

disk.dataPartition.size=1024

.. puis retourné au gestionnaire AVD, sélectionné MyVm, sélectionné «Démarrer», choisi d'effacer les données utilisateur gagner la boîte de dialogue suivante, et a pu exécuter et installer.

Billiam
la source
Cela a bien fonctionné la dernière fois mais aujourd'hui j'ai dû écrire disk.dataPartition.size=1024MB, depuis 1024et je 1024mne travaillais pas.
Sufian
6

avd manager a une option "taille idéale de la partition système", essayez de la définir sur 1024 Mo ou utilisez l'option de lancement en ligne de commande qui fait de même.

Pour info, je n'ai rencontré ce problème qu'avec l'image de l'émulateur 4.0.

Lassi Kinnunen
la source
Pareil ici. Lorsque vous faites cela, assurez-vous de redémarrer l'émulateur à partir d'un état propre et NON à partir d'un instantané.
Manfred Moser
6

Démarrez simplement l'émulateur par ligne de commande comme suit:

emulator -avd <your avd name> -partition-size 1024 -wipe-data
super
la source
4

ce problème vient avec android 1.5 .. essayez 2.0 ou 2.1 ou 2.2

Vishal Khakhkhar
la source
J'obtiens cela avec 2.2 sur mon N1
Erik B
2
Je reçois à la fois 1.5 et 2.2 stackoverflow.com/questions/3584297/…
Paresh Mayani
3
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal"   // this line can work for  Installation error:            //                                             // INSTALL_FAILED_INSUFFICIENT_STORAGE
Ankit Kumar
la source
Je ne sais pas pourquoi cela a été rejeté - a fonctionné pour moi, alors votez à la hausse. :)
Robert
3

Pour redimensionner le stockage de l'émulateur Android sous Linux:

1) installer qemu

2) Localisez le répertoire contenant les fichiers img de la machine virtuelle. Quelque chose comme ~ / .android / avd / .avd et cd dessus.

3) Redimensionner les images ext4: c'est à dire pour passer de 500 Mo à 4 Go exécutez

qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB

4) Développez le système de fichiers:

e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img

5) Pour l'image de la carte sd, facultatif: récupérer les données:

mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1

6) redimensionner l'image de 100 Mo à Go:

qemu-img resize sdcard.img +3.9GB

7) Re-générer le système de fichiers:

mkfs.vfat sdcard.img

8) facultatif: restaurez les anciennes données:

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 
user3099887
la source
2

Je suis un débutant, mais j'ai eu ce problème en jouant avec le "Hello Grid View". J'essayais d'utiliser mes propres photos, qui étaient toutes très volumineuses.

La solution rapide était de réduire le nombre de photos, réduisant ainsi la taille du fichier APK.

Mais, je suppose que ma question de suivi pour toute autre personne qui touche ce fil est la suivante: Comment puis-je joindre des fichiers volumineux comme des JPG et des MP3 à une application et m'assurer qu'ils sont enregistrés sur la carte SD afin que l'APK reste petit?


la source
2
Je pense avoir trouvé la réponse ici: developer.android.com/guide/topics/resources/index.html Essayez d'utiliser des "actifs" au lieu de "ressources" pour tous les éléments volumineux. De la page: Les ressources font partie intégrante d'une application Android. En général, ce sont des éléments externes que vous souhaitez inclure et référencer dans votre application, comme des images, de l'audio, de la vidéo, des chaînes de texte, des mises en page, des thèmes, etc. Chaque application Android contient un répertoire pour les ressources (res /) et un répertoire pour actifs (actifs /).
2

vous devez augmenter la mémoire virtuelle de l'émulateur

Comment augmenter la mémoire virtuelle de l'émulateur

émulateur -avd "Nom de l'émulateur" -partition-taille 2024

après, essayez d'installer votre apk

Nirav Ranpara
la source
2

Mettez à jour vos paramètres dans AVD Manager et démarrez l'appareil en activant «Effacer les données utilisateur». Cela a fonctionné pour moi.

vinu
la source
1
Dans la nouvelle interface AVD, cliquez avec le bouton droit sur la ligne de l'émulateur, puis sélectionnez Effacer les données utilisateur après avoir modifié le stockage interne.
Tiago Zortéa De Conto
1

Je suppose que vous devriez redémarrer l'émulateur avec "émulateur -wipe-data -avd YourAvdName" ou cocher "Wipe User Data" dans la configuration d'exécution si vous utilisez Eclipse.

Je suis confronté au même problème actuellement.

Roman Shestakov
la source
0

La seule fois où j'ai vu cela se produire, c'était lorsque le système de fichiers hôte manquait d'espace. Avez-vous beaucoup d'espace libre sur le système de fichiers où le système de fichiers de la VM est stocké?

Jeremy Logan
la source
J'ai beaucoup d'espace sur mes disques durs 13 Go gratuits.
Pentium
0

Ce n'est certainement pas une réponse appropriée, mais c'est un petit indice.

Si vous souhaitez utiliser des fichiers statiques dans votre application. Vous devez les mettre comme ressources ou comme actifs. Mais, si vous avez des problèmes de mémoire tels que garder votre APK petit, vous devez modifier la conception de votre application de telle manière que,

au lieu de les mettre en tant que ressources, lors de l'exécution de votre application (après l'installation), vous pouvez prendre les fichiers (des fichiers différents par défaut car l'utilisateur peut ne pas conserver les fichiers dont vous avez besoin) de la carte SD. Pour cela, vous pouvez utiliser ContentResolver pour prendre des fichiers audio, image sur la sélection de l'utilisateur.

Avec cela, vous pouvez donner à l'utilisateur une autre fonctionnalité comme il peut charger des fichiers audio / image dans l'application de son propre choix.

Andhravaala
la source
0

vous pouvez démarrer celui en sélectionnant un élément dans l'arborescence de gauche "appareil virtuel" dans la boîte de dialogue du gestionnaire AVD sur la plate-forme d'éclipse, l'interface utilisateur de démarrage a l'option "Effacer les données utilisateur"

Jone
la source
0

L'approche suivante a fonctionné pour moi

  1. Accédez à votre dossier Android SDK / tools dans la fenêtre du terminal (au cas où vous n'auriez pas ajouté le chemin d'accès)

  2. Assurez-vous que l'appareil virtuel que vous prévoyez de nettoyer est éteint.

  3. Exécutez la commande "./emulator -wipe-data -avd YourAvdName" où YourAvdName est le nom de votre appareil Android virtuel

Anton
la source
-2

Essayez de choisir projet -> nettoyer. Un simple nettoyage peut le réparer.

grippie
la source