Come aumentare la memoria per l'emulatore Android? (INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

Lo ottengo a volte (non spesso) per uno dei miei progetti, solo un paio di lezioni
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

Come posso aumentare la memoria dell'emulatore?


2
Vedo questo errore abbastanza spesso, anche quando il dispositivo su cui è installato ha un sacco di spazio. Tieni presente che a volte quando vedi l'errore, ciò che dice il messaggio di errore non è in realtà vero.
Lance Nanek,

1
@ Pentinum10 sto ricevendo lo stesso errore su 1.5 e 2.2, controlla questa domanda dove è richiesto il tuo aiuto: stackoverflow.com/questions/3584297/… , per favore aiutami e
prendimi

Risposte:


127

Aggiornare

Questa risposta è, mentre scrivo, quasi otto anni e circa cinque anni stantii. Ma è ancora (mentre scrivo questo) la risposta "accettata", perché ha risposto alla domanda quando è stata posta.

La risposta più recente, che si applica ai più recenti strumenti di Android Studio, è disponibile qui: https://stackoverflow.com/a/35828035/62 : è un'ottima risposta con le schermate. Se stai utilizzando Android Studio, ignora la risposta Eclipse di seguito.

Risposta originale basata su Eclipse

Stavo cercando la risposta a questa domanda e non ero soddisfatto delle risposte di cui sopra. Ma poi ho trovato la risposta , quindi eccola per riferimento futuro:

Per riassumere (e chiarire), in Eclipse, vai a "Configurazioni di debug". Puoi trovarlo nel menu a discesa sotto l'icona "debug". Seleziona "target" e seleziona un target emulatore preferito da avviare. Quindi in "opzioni aggiuntive della riga di comando dell'emulatore", aggiungi questo:

-partizione-dimensione 1024

Quindi CHIUDI l'emulatore (e rimuovi tutti i dispositivi) e fai clic sull'icona di debug, che avvierà l'emulatore preferito che hai selezionato. Questo è importante: Eclipse deve avviare il debugger, non AVD.

Ciò ha risolto il problema per me.


8
Si noti che la "dimensione della partizione" è espressa in megabyte e che generalmente per installare un APK è necessario almeno il doppio dello spazio su disco della dimensione dell'APK.
Christopher Orr,

5
Un'altra nota da prendere: è necessario fare clic con il tasto destro del mouse sul progetto che si desidera eseguire in eclipse -> Esegui-> Esegui configurazione-> Seleziona progetto-> Destinazione -> scorrere verso il basso-> aggiungi -partizione-dimensione 1024 a opzioni Em aggiuntive-> quindi esegui il progetto da eclipse
SpoiledTechie.com,

4
Google dovrebbe aggiungere questo a parametri di proprietà esplicite per Android 3.2 o 4.0. Correggi il dannato plugin Eclipse AVD
peter_pilgrim,

bella scoperta ... dovrebbe davvero essere esposta attraverso gli strumenti ADT. L'emulatore ICS ha solo 60 MB di default! impossibile installare APK sulla cosa fuori dalla scatola.
Ddewaele,

1
Per chiunque guardi questa risposta accettata anni dopo, come ho fatto io, probabilmente vorrai guardare invece stackoverflow.com/a/35828035/62 .
Liron Yahdav,

90

Su Android Studio

Apri AVD Manager.

inserisci qui la descrizione dell'immagine

Fare clic su Modifica icona per modificare l'AVD.

inserisci qui la descrizione dell'immagine

Fai clic su Mostra impostazioni avanzate.

inserisci qui la descrizione dell'immagine

Modificare le dimensioni di memoria interna, RAM, scheda SD, se necessario. Fai clic su Fine.

inserisci qui la descrizione dell'immagine

Conferma il popup facendo clic su Sì.

inserisci qui la descrizione dell'immagine

Cancella i dati sull'AVD e conferma il popup facendo clic su Sì.

inserisci qui la descrizione dell'immagine

Importante: dopo aver aumentato le dimensioni, se non ti viene chiesto automaticamente di cancellare i dati, devi farlo manualmente aprendo il menu a discesa dell'AVD e scegliendo Cancella dati.

inserisci qui la descrizione dell'immagine

Ora avvia e usa il tuo emulatore con maggiore memoria.


7
La modifica di "Memoria interna" non fa nulla per me, prima o dopo aver creato l'AVD. Viene sempre fornito con 300 MB e un avviso di spazio ridotto.
Travis Christian,

3
Hai cancellato i dati dal menu a discesa in AVD Manager dopo aver modificato le dimensioni.
Cijo

1
Ho già eliminato l'AVD, ma stava accadendo anche con immagini non avviate di nuova configurazione. Ho scoperto in un'altra domanda che si tratta di un problema con alcune API <23.
Travis Christian,

OMG - grazie per questo! È l'unica soluzione che ho trovato che ha funzionato!
SammyK,

2
Questa dovrebbe essere la risposta accettata e la prima a comparire (non le risposte relative a Eclipse legacy). Non è sufficiente modificare le dimensioni e avviare l'emulatore (anche quando si utilizza Cold Boot Now ). La chiave sembra essere il comando Cancella dati . Grazie!
Alex Vang,

42

Aggiungi quanto segue a avd config.ini

disk.dataPartition.size=1024MB

Fammi sapere se questo funziona anche per te.

Ho aggiunto alla riga Aggiungi configurazione dimensioni partizione dati
Schermata dello spazio di archiviazione AVD in aumento


Non ha funzionato per me su un'immagine 2.3. Vedo ancora solo 128 MB di memoria interna disponibile per le app.
Matthias,

1
Ho notato che nell'interfaccia utente "Modifica" di AVD Manager, il tentativo di impostare manualmente questo valore lo reimposterà sempre su 0. Forse un problema correlato? Forse non dovrebbe essere impostato su alcune versioni di Android?
Matthias,

2
È necessario immettere un valore come, 1024MBquando si utilizza AVD Manager. Non puoi semplicemente entrare per 1024un po 'per capirlo, e ho confermato che funziona
Ronnie,

19

Esegui AVD Manager

Seleziona il tuo AVD e fai clic sul pulsante "Dettagli ...".

Nel mio caso AVD Manager imposta la dimensione del disco su

disk.dataPartition.size=4000M

Questo valore non valido , il disco è di circa 500 MB nonostante i numeri specificati.

Vai alla cartella di AVR per percorso in "Dettagli AVD".

Modificalo in config.ini in

disk.dataPartition.size=4000MB

e rimuovi tutti i file .img.


2
Questa dovrebbe essere la risposta selezionata. Nelle versioni correnti di Android Studio (3.0.1), le proprietà delle impostazioni di modifica sono disattivate se si esegue un AVD abilitato per Google Play. Questo ha funzionato. Ho cambiato il mio dispositivo di prova a 2000 MB dal 400 MB, cancellato tutti i file * .img e * .qcow2. Dati cancellati sull'AVD. Quindi lo ha avviato e aveva 2000 MB di spazio di archiviazione.
MLindsay,

@MLindsay Sono d'accordo
mwa91,

Cordiali saluti, non ho dovuto eliminare * .img o qualsiasi altro file. Basta cambiare valore in config.ini era abbastanza.
Mohib Sheth

Grazie! Ha funzionato per il mio caso.
android_dev

10

Stavo facendo un'installazione di un apk:

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

E stavo ricevendo un messaggio di errore che lo diceva

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

era troppo grande. Utilizzando gli strumenti SDK da R15 e ADT 15 sono stato in grado di utilizzare il gestore AVD per manipolare alcune delle impostazioni del mio emulatore esistente:

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

poi andando nella finestra delle proprietà dell'hardware proprio sotto "Skin:" sono stato in grado di selezionare con il pulsante Hardware: Nuovo "Dimensione ideale della partizione". Tuttavia, non sono stato in grado di impostare un valore diverso da "0". Imperterrito, sono andato alla mia directory $ {HOME} /. Android / avd C'era una directory 'MyVm.avd'. Andando in quella directory ho trovato un file 'config.ini'. C'era la voce:

disk.dataPartition.size=0

Ho impostato questo su:

disk.dataPartition.size=1024

.. quindi è tornato a AVD Manager, ha selezionato MyVm, ha selezionato 'Avvio', ha optato per cancellare i dati dell'utente e vincere la finestra di dialogo seguente, ed è stato in grado di eseguire e installare.


L'ultima volta ha funzionato bene, ma oggi ho dovuto scrivere disk.dataPartition.size=1024MB, dal momento 1024che 1024mnon funzionava.
Sufian,

6

avd manager ha un'opzione "dimensione ideale della partizione di sistema", prova a impostarla su 1024 MB o usa l'opzione di avvio a riga di comando che fa lo stesso.

a proposito, ho riscontrato questo problema solo con l'immagine dell'emulatore 4.0.


Anch'io. Quando lo fai, assicurati di riavviare l'emulatore da uno stato pulito e NON da un'istantanea.
Manfred Moser,

6

Basta avviare l'emulatore dalla riga di comando come segue:

emulator -avd <your avd name> -partition-size 1024 -wipe-data


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

Non sono sicuro del motivo per cui questo è stato votato in negativo - ha funzionato per me, quindi vota per favore. :)
Robert,

3

Per ridimensionare la memoria dell'emulatore Android in Linux:

1) installa qemu

2) Individua la directory contenente i file img della macchina virtuale. Qualcosa come ~ / .android / avd / .avd e cd ad esso.

3) Ridimensiona le immagini ext4: esegui cioè per crescere da 500 Mb a 4 GB

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

4) far crescere il filesystem:

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

5) Per l'immagine della scheda SD, opzionale: salva i dati:

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

6) ridimensiona l'immagine da 100 Mb a Gb:

qemu-img resize sdcard.img +3.9GB

7) rigenerare il filesystem:

mkfs.vfat sdcard.img

8) opzionale: ripristina i vecchi dati:

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

2

Sono un principiante, ma ho avuto questo problema giocando con "Hello Grid View". Stavo cercando di usare le mie foto, tutte di dimensioni molto grandi.

La soluzione rapida è stata quella di ridurre il numero di foto, riducendo così le dimensioni del file APK.

Ma, suppongo che la mia domanda di follow-up per chiunque abbia questo thread sia questa: come posso allegare file di grandi dimensioni come JPG e MP3 a un'app e assicurarmi che salvino sulla scheda SD in modo che l'APK rimanga piccolo?


2
Penso di aver trovato la risposta qui: developer.android.com/guide/topics/resources/index.html Prova a utilizzare "risorse" anziché "risorse" per elementi di grandi dimensioni. Dalla pagina: le risorse sono parte integrante di un'applicazione Android. In generale, si tratta di elementi esterni che si desidera includere e fare riferimento all'interno dell'applicazione, come immagini, audio, video, stringhe di testo, layout, temi, ecc. Ogni applicazione Android contiene una directory per le risorse (res /) e una directory per attività (attività /).

2

è necessario aumentare la memoria virtuale dell'emulatore

Come aumentare la memoria virtuale dell'emulatore

emulatore -avd "Nome emulatore" -partizione-dimensione 2024

quindi prova a installare il tuo apk


2

Aggiorna le tue impostazioni in AVD Manager e avvia il dispositivo abilitando "Cancella dati utente". Questo ha funzionato per me.


1
Nella nuova interfaccia AVD, fai clic con il pulsante destro del mouse sulla riga dell'emulatore, quindi seleziona cancella i dati utente dopo aver modificato la memoria interna.
Tiago Zortéa De Conto,

1

Immagino che dovresti riavviare l'emulatore con "emulator -wipe-data -avd YourAvdName" o selezionare "Cancella dati utente" nella configurazione di esecuzione se stai usando Eclipse.

Sto affrontando lo stesso problema in questo momento.


0

L'unica volta che l'ho visto accadere è stato quando il filesystem host era praticamente esaurito. Hai molto spazio libero sul filesystem in cui è archiviato il filesystem della VM?


Ho un sacco di spazio libero sui miei dischi rigidi da 13 GB.
Pentium10,

0

Sicuramente non è una risposta appropriata, ma è un piccolo suggerimento.

Se desideri utilizzare file statici nella tua app. Dovresti metterli come risorse o come risorse. Ma se U ha problemi di memoria come mantenere piccolo l'APK, è necessario modificare il design dell'app in modo tale che,

invece di metterli come risorse, durante l'esecuzione dell'app (dopo l'installazione) è possibile prendere i file (file decisamente diversi poiché l'utente potrebbe non conservare i file necessari) dalla scheda SD. Per questo U è possibile utilizzare ContentResolver per acquisire audio, file di immagine sulla selezione dell'utente.

Con questo puoi dare all'utente un'altra funzionalità come se fosse in grado di caricare file audio / immagini sull'app a sua scelta.


0

puoi avviare quello quando selezioni un elemento dall'albero di sinistra "dispositivo virtuale" nella finestra di dialogo del gestore AVD sulla piattaforma di eclipse, l'interfaccia utente di avvio ha l'opzione "Cancella dati utente"


0

Il seguente approccio ha funzionato per me

  1. Passa alla cartella Android SDK / tools nella finestra del terminale (nel caso in cui non sia stato aggiunto il percorso)

  2. Assicurati che il dispositivo virtuale che stai pianificando di pulire sia spento.

  3. Esegui il comando "./emulator -wipe-data -avd YourAvdName" dove YourAvdName è il nome del tuo dispositivo Android virtuale


-2

Prova a scegliere progetto -> pulito. Una semplice pulizia potrebbe risolverlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.