Rozwiązanie błędu INSTALL_FAILED_INSUFFICIENT_STORAGE na Androida [zamknięte]

525

INSTALL_FAILED_INSUFFICIENT_STORAGEBłąd jest zmorą życia każdego Android dewelopera. Dzieje się tak bez względu na rozmiar aplikacji lub ilość dostępnego miejsca. Ponowne uruchomienie urządzenia docelowego krótko rozwiązuje problem, ale wkrótce wróci. Istnieją setki (jeśli nie tysiące) postów na forach dyskusyjnych od osób pytających, dlaczego problem występuje, ale ludzie w Google są frustrująco milczący na ten temat.

Istnieje proste obejście. Jeśli na urządzeniu testowym działa system Android 2.2 lub nowszy, dodaj android:installLocationatrybut do pliku manifestu aplikacji wraz z wartością "preferExternal". Wymusi to zainstalowanie aplikacji w zewnętrznej pamięci urządzenia, na przykład na karcie SD telefonu.

Na przykład:

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

Jest to raczej pomoc dla zespołu niż poprawka i może nie być idealna, jeśli chcesz, aby gotowa aplikacja była instalowana w pamięci wewnętrznej urządzenia. Ale przynajmniej sprawi, że proces rozwoju będzie o wiele mniej frustrujący.

Andrew Smith
źródło
czy to będzie działać dla Androida API poziom 4 lub 1.6?
mAc
dostałem ten msg w pliku manifestu: -> błąd: nie znaleziono identyfikatora zasobu dla atrybutu „installLocation” w pakiecie „android” Pls help
someone_ smiley
1
@AndrewSmith: czy możesz odpowiedzieć na swoje pytanie? Po prostu natknąłem się na to pytanie podczas recenzji, ponieważ jest oznaczone jako nie prawdziwe pytanie . Chociaż flaga jest w zasadzie poprawna, szkoda byłoby, gdyby rozwiązanie zostało utracone.
eckes
Pierwszą rzeczą do zrobienia jest: dowiedz się, czy problem dotyczy przestrzeni! Szczegóły znajdują się w mojej odpowiedzi na to pytanie .
Robert Siemer,
1
Miałem ten błąd na emulatorze Androida. W Android Studio - menedżer AVD, istnieje możliwość wyczyszczenia danych na określonym urządzeniu. To rozwiązało mój problem
Aseem

Odpowiedzi:

178

Jest to tylko tymczasowe obejście, a nie prawdziwa poprawka.

Po tym, jak mi się to przytrafiło i nie byłem zadowolony z obecnych odpowiedzi, zacząłem pracować, próbując to rozgryźć ze źródła AOSP. Znalazłem PRAWDZIWE rozwiązanie.

Wyjaśnienie

Po pierwsze, trochę (uproszczone) tło na temat instalacji i aktualizacji Androida

Przy pierwszej instalacji aplikacji:

  1. Plik APK jest zapisywany jako

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

Kiedy aplikacja ma zostać zaktualizowana:

  1. Zaktualizowany plik APK jest zapisywany jako:

    /data/app/<full.package.name>-2.apk (2.apk)
  2. Pierwsza wersja (1.apk) zostanie usunięta.

W naszych następnych aktualizacjach:

  1. Nowy APK jest zapisywany jako (1.apk) i (2.apk) jest usuwany (Powtarzaj na zawsze).

 

Problem, który ma większość z nas, występuje, gdy aplikacja jest aktualizowana, ale usuwanie starego pliku APK kończy się niepowodzeniem. Co samo w sobie jeszcze nie powoduje niepowodzenia aktualizacji, ale powoduje, że są w nim dwa pliki APK /data/app.

Przy następnej próbie aktualizacji aplikacji system nie może przenieść pliku tymczasowego, ponieważ ani (1.apk), ani (2.apk) nie są puste. Ponieważ File # renameTo (File) nie zgłasza wyjątku, ale zamiast tego zwraca logiczny menedżer pakietów PackageManager, nie ma żadnego sposobu, aby powiedzieć, dlaczego zwraca INSTALL_FAILED_INSUFFICIENT_STORAGE, mimo że niepowodzenie nie miało nic wspólnego z ilością wolnego miejsca.

Rozwiązanie

Biegać:

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

LUB

Odinstaluj aplikację

Użyj swojej ulubionej metody, aby usunąć ZARÓWNO :

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

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

Upewnij się, że nic innego nie blokuje przyszłych instalacji w podobny sposób. W moim przypadku miałem /data/app-lib/<full.package.name>-1katalog, który został w pobliżu! W takim przypadku zadziałała instalacja na karcie SD , a następnie przeniesienie do pamięci wewnętrznej. (Tworzenie /data/app-lib/<full.package.name>bez -1zakończenia).

Dlaczego działały inne „rozwiązania”

  • Kod instalowania w pamięci zewnętrznej jest znacznie inny, co nie powoduje tych samych problemów

  • Odinstalowanie aplikacji usuwa tylko jedną wersję pliku APK z /data/app. Dlatego możesz go ponownie zainstalować, ale nie możesz go zaktualizować.

  • Ilość wolnego miejsca w emulatorze nie jest tak naprawdę istotna, gdy wystąpi ten błąd

gabcas
źródło
9
@ Msmit1993, nie masz dostępu do katalogu danych na urządzeniu innym niż root. Posiadanie SDK i ADB nie ma znaczenia.
Stan
3
Dla naprawdę leniwych, oto 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
krótki
1
Próbowałem też, android:installLocation="preferExternal"ale na próżno, w moim przypadku nic nie działa. Do testowania używam prawdziwego urządzenia. Jakie jest rozwiązanie w tym przypadku?
Ram Patra,
1
Musiałem wyczyścić/data/local/tmp
18446744073709551615
1
W moim przypadku dodaję, aby zainstalować aplikację z adb install -f ... Odmówił instalacji w inny sposób, mimo że miałem 1,7 GB wolnej pamięci wewnętrznej; być może dlatego, że nie miałem SDCARD. Ale z opcją -f, przynajmniej działało, nie wiem dlaczego ...
xtof54
108

Musisz zwiększyć pojemność pamięci emulatora Androida. Są na to dwa sposoby:

  1. Kliknij prawym przyciskiem myszy katalog główny projektu Android, przejdź do „Uruchom jako”, a następnie do „Uruchom konfiguracje ...”. Znajdź węzeł „Aplikacja na Androida” w drzewie po lewej stronie, a następnie wybierz swój projekt i przejdź do zakładki „Cel” po prawej stronie okna i spójrz w dół na pole „Dodatkowe opcje wiersza poleceń emulatora” (czasami „ Będę musiał powiększyć okno) i na końcu wkleić tam „-partition-size 1024”. Kliknij Zastosuj, a następnie Uruchom, aby użyć emulatora.

  2. Przejdź do Preferencji Eclipse , a następnie wybierz „Uruchom” Dodaj „rozmiar partycji 1024” w polu „Domyślna opcja emulatora”. Kliknij „Zastosuj” i używaj swojego emulatora jak zwykle.

RacZo
źródło
103
Oscar, zakładasz, że dzieje się to na symulatorze. W moim przypadku dzieje się to na rzeczywistym urządzeniu, którego ta odpowiedź nie dotyczy.
Jeff Axelrod,
Druga opcja nie działała dla mnie. Jednak opcja 1 tak! Świetne rzeczy! I pracował z emulatorem 2.1.
DonnaLea,
To nie działało dla mnie, prawdopodobnie dlatego, że mam włączone migawki? Jak sprawić, by emulator uruchomił Androida od zera dzięki nowej opcji rozmiaru partycji?
Timmmm
Przegrana w opcji 1 - Nie mam zakładki „Cel” w ecclipse w tej lokalizacji.
Ted Betz
Druga opcja działała dla mnie, dzięki za gud post @RacZo
DD.
31

Dziękujemy za opublikowanie tego pytania. Mam dodatkowe informacje, które mogą pomóc niektórym programistom.

Debuguję moją aplikację na urządzeniu (nie emulatorze). Urządzenie ma 21 MB wolnego miejsca /data(jak ujawnia „df” podczas wykonywania „powłoki adb”), a moja aplikacja ma tylko 5 MB. Odkryłem jednak, że jeśli usunę inne aplikacje na urządzeniu (bez ponownego uruchamiania telefonu lub ponownego uruchomienia adbd), INSTALL_FAILED_INSUFFICIENT_STORAGE odejdzie na chwilę, a następnie wróci.

Wygląda więc na to, że debugowanie mojej aplikacji o pojemności 5 MB wymaga więcej niż 20 MB miejsca /data, a ponadto za każdym razem coś przeciekało.

Więc zrobiłem „adb shell” i wymieniłem /datakatalog CAŁE

cd /data
ls -a -l -R

I spojrzałem na wyjście 5000-liniowe, aby zobaczyć, dokąd zmierza cała przestrzeń.

Odkryłem ogromne ilości zmarnowanego miejsca na moim urządzeniu w /data/klogkatalogu w postaci starych plików dziennika z miesięcznych sesji debugowania.

To nie były moje pliki dziennika: zostały utworzone przez jakąś część infrastruktury Androida.

Usunąłem je i natychmiast zapisałem 58 MB, które nie zostały przypisane w aplikacji Ustawienia żadnej konkretnej aplikacji. Mam małe urządzenie, więc 58 MB jest bardzo znaczące (około 40%).

Jak dotąd nie otrzymałem INSTALL_FAILED_INSUFFICIENT_STORAGE po wielu uruchomieniach. Miejmy nadzieję, że to był prawdziwy problem, chociaż OP sugeruje, że jego urządzenie miało dużo miejsca (ale nie powiedziało ile).

Mam nadzieję, że niektórzy z was będą mogli uciec z INSTALL_FAILED_INSUFFICIENT_STORAGE poprzez okresowe usuwanie /data/klog/*.

Albo można zrobić przynajmniej ls -a -l -Rw /data, aby zobaczyć, gdzie wszystkie miejsca będzie, jeśli rzeczywiście tam jest naprawdę niektóre (ukryty) Emisja przestrzeń.

Louis Semprini
źródło
26
jakiś pomysł, jak to zrobić na nierootowanym telefonie? Nie mam dostępu do katalogu danych. świetny post btw +1
Rich
1
Dzięki za informację. Do twojej wiadomości możesz skonsolidować flagi w Uniksie, aby lspolecenie stało sięls -alR
mharper 12.02.13
1
Z dostępem do roota wykonaj: # su # du / data | sortuj -g, aby uzyskać listę folderów / plików uporządkowanych według rozmiaru
JuanMa Cuevas,
@JuanMaCuevas duwyświetla tylko foldery.
naXa
@Rich, spróbuj pobrać aplikację Astro File Manager innej firmy. Jest bardzo popularny i daje dostęp do plików telefonu. play.google.com/store/apps/…
Azurespot
22

Pomaga:

  • Otwórz powłokę na urządzeniu

    adb shell
  • Przejdź do katalogu tymczasowego, w którym przychodzący pakiet APK jest najpierw kopiowany

    cd /data/local/tmp
  • Wyświetl dostępne pliki i usuń według potrzeb

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

Do tej pory było to dla mnie niezawodne na rzeczywistym urządzeniu.


EDYCJA: Okazało się, że nie jest to tak niezawodne rozwiązanie jak powyższe.

Wypróbowałem kilka rozwiązań. Nic tak naprawdę nie pomogło. W końcu znalazłem aplikację o nazwie SD Maid . To pomogło.

Mówi, że funkcjonalność jest ograniczona na nierootowanych urządzeniach. Mój jest zrootowany, więc dobrze byłoby usłyszeć od ludzi skuteczne, że tak jest w tych scenariuszach i jeśli byłby to tylko przypadek, że zadziałało dla mnie (i tak jest to nieprzewidywalny problem).

UWAGA: Nie mam nic wspólnego z aplikacją. Właśnie znalazłem to podczas wyszukiwania.

Saad Farooq
źródło
Pomogło mi to .. Niektóre z moich poprzednich aplikacji są przechowywane w folderze tmp. Po usunięciu tych działa dobrze.
Mahendran Sakkarai
19

Rozwiązałem go, umieszczając android:installLocation="auto"wewnątrz <manifest>tagu w pliku AndroidManifest.xml.

Steph
źródło
Rzeczywiście działa. Dzięki.
Teddy
To jedyna poprawka, która działała dla mnie na prawdziwym urządzeniu. Dzięki.
Shah Abaz Khan
po prostu i ładnie działający. dzięki
brahmy adigopula
dodałem ten wiersz kodu. ale nadal pojawia się ten błądError: 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
Najlepsze rozwiązanie do pracy z emulatorem. Dzięki!
Br0wn
16

Dodałem dodatkową linię do pliku manifestu aplikacji, czyli android:installLocation="preferExternal". użycie tej linii wymusza zainstalowanie aplikacji w pamięci zewnętrznej. patrz przykład poniżej,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nasir.phonegap"
    android:installLocation="preferExternal" >
nasirkhan
źródło
11

Powiązanym problemem na emulatorze jest brak miejsca w /datapartycji.

Na przykład,

% 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

Oto przykładowy widok /data/appkatalogu:

% 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

Usunąłem dodatkowe pliki APK . Wydaje się, że przy każdej instalacji otrzymujesz nowy plik APK. Po prostu usuń dodatkowe pliki APK.

Na przykład,

adb shell rm /data/app/com.brooklynmarathon.calendarapi2-1.apk
Ralph Yozzo
źródło
2
1. uruchom „powłokę adb” 2. cd do każdego katalogu w danych i znajdź te z dużymi bezużytecznymi plikami. 3. usuń je za pomocą „rm (nazwa pliku)” 4. moje powtarzające się problemy dotyczą śmieci takich jak „ApiDemos” i „dalvik-cache” (wystarczy usunąć całą zawartość tego pliku)
Adam
9

W moim przypadku awaria była spowodowana przez com.android.providers.mediaaplikację. Stawiłem temu czoła na emulatorze Androida x86. Co ja zrobiłem:

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

Za mało wolnego miejsca na /data

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

Prawie wszystko pochłonęła jedna aplikacja! To aplikacja systemowa, więc uważam, że lepiej jej nie usuwać. Zamiast tego wyczyściłem dane aplikacji.

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

Dysk został wyczyszczony i aplikacja została pomyślnie zainstalowana.

Siergiej Fiodorow
źródło
To jedyne rozwiązanie, które działało dla mnie. Po 2 godzinach! :)
Ruchir Baronia
6

Czuję się trochę dziwnie pisząc to, ale nie mogę być w 100% pewien, że w niektórych przypadkach nie jest to prawda (zadziałało dla mnie). Jeśli wystąpiły następujące objawy:

  • Pracowałeś przy użyciu fizycznego urządzenia (w moim przypadku Samsung Galaxy Ace),
  • Rozwijałeś się przez kilka dni z rzędu,
  • Twój telefon był podłączony cały czas , dzień i noc.
  • Ten błąd zaczął się pojawiać po kilku dniach i pogarszał się.
  • Żadna z pozostałych odpowiedzi nie zadziałała.
  • Jesteś tak samo zrezygnowany jak ja ...

Następnie spróbuj tego:

  • Odłącz telefon, gdy nie pracujesz!

Odłączyłem telefon i zostawiłem go na CAŁY DZIEŃ. Moja bateria trochę się zużyła. Następnie ponownie go podłączyłem i ponownie rozpocząłem debugowanie. Tym razem wszystko działało dobrze! I mam na myśli naprawdę NAPRAWDĘ w porządku, tak jak wcześniej.

Czy to możliwe, że ten błąd może być spowodowany przez niektóre elementy sprzętowe związane z baterią ? Wciąż myślenie w ten sposób jest dziwne, ale teraz co jakiś czas odłączam telefon (i na noc) i problem nie powrócił.

wrygiel
źródło
Zdarza mi się to cały czas - na wszystkich moich urządzeniach. Z powodu dnia rzeczy zwykle zaczynają się zawodzić pod koniec każdego dnia. To takie denerwujące, a jego niesamowity Google jeszcze tego nie naprawił ...
slott
Takie samo zachowanie dla mnie, ale ponowne uruchomienie telefonu rozwiązało mój problem uporczywie.
bdevay
6

Odpowiadając na pierwszy post tego tematu ...

Objaw: Niektóre aplikacje nie instalują się, mówiąc, że nie ma miejsca, a w rzeczywistości jest dużo wolnego miejsca zarówno w pamięci wewnętrznej, jak i zewnętrznej !!! Rozwiązanie: domyślnie wyłącz instalację zewnętrzną.

Ustawienie zewnętrznej instalacji przez defaut z tym:

adb shell pm set-install-location 2

Uniemożliwia instalację w wielu aplikacjach, których nie można zainstalować zewnętrznie (takich jak Adblock +)

Zatem rozwiązaniem jest

adb shell pm set-install-location 0

Lub

adb shell pm set-install-location 1

0: auto (if one is full - or irrelevant !!! - it select the other)
1: internal
2: external
dan
źródło
Zaczynałem myśleć, że pamięć wewnętrzna tego telefonu jest zepsuta, ale ustawienie lokalizacji instalacji na 1 rozwiązało problem „niewystarczającej przestrzeni”. Dzięki!
Wodin
6

Próbowałem następujące:

  • Uruchomiłem ponownie urządzenie
  • Usunięto poprzedni pakiet APK
  • Odbuduj mój APK
  • Odinstaluj moją poprzednią kopię w urządzeniu
  • Zainstaluj ponownie

Sprawdź, czy to działa z tobą tak samo.

CoolRunning
źródło
3
Tak, ponowne uruchomienie urządzenia było jedynym działającym (po wypróbowaniu kilku rozwiązań z tej strony)
Sulea Cosmin
Ponowne uruchomienie urządzenia działa :)
cinobili19
5

Samsung Galaxy Ace reklamuje w swoich specyfikacjach 158 MB pamięci wewnętrznej, ale podstawowe aplikacje i usługi zużywają około 110 MB (w celu sprawdzenia tego użyłem menedżera zadań na urządzeniu). Moja aplikacja miała 52 MB, ponieważ miała wiele zasobów. Po usunięciu niektórych z nich do 45 MB aplikacja bez problemu zainstalowała się. Urządzenie wciąż ostrzega mnie, że pamięć wewnętrzna jest prawie pełna i powinienem odinstalować niektóre aplikacje, mimo że zainstalowałem tylko jedną.

Po zainstalowaniu wersji pakietu .apk, a następnie jej odinstalowaniu, moje urządzenie wyświetla 99 MB wolnego miejsca, więc może to być mimo wszystko informacja debugująca urządzenie. Zobacz odpowiedź Louisa Sempriniego .

kichania
źródło
4

W Eclipse

Run -- > Debug Configurations --> Select "target", i wybierz preferowany cel emulatora do uruchomienia.

Następnie poniżej „dodatkowych opcji wiersza poleceń emulatora” dodaj:

rozmiar partycji 1024

Następnie ZAMKNIJ emulator i kliknij ikonę debugowania, która uruchomi wybrany emulator.

wprowadź opis zdjęcia tutaj

Mam nadzieję, że to pomoże...!

Strider
źródło
Wskazówka dla Android Virtual Device Managerużytkowników. Możesz ustawić rozmiar partycji na 1024 jako „Pamięć wewnętrzna”, która reprezentujedisk.dataPartion.size
wścibski
3

Wystąpił ten problem z moim nowym Nexusem 4 i pakietem APK zbudowanym w środowisku Adobe AIR. Miałem już Androida: installLocation = "preferExternal" w moim manifeście. Zauważyłem, że dzwoniłem również adb installz -sopcją (Zainstaluj pakiet na wspólnej pamięci masowej, takiej jak sdcard.), Co wydawało się przesadą.

Usunięcie -sflagi z adb installrozwiązało problem dla mnie.

Sarah Northway
źródło
1
+1, dobra, -s należy używać tylko, jeśli przesłaniają poprzednią zainstalowaną kompilację.
AAnkit,
3

Ponieważ ten problem nadal istnieje, pomyślałem, że dodam coś do odpowiedzi RacZo w celach programistycznych. Jeśli nie używasz wtyczki Eclipse lub z jakiegokolwiek powodu nie masz źródła, ale tylko .apk, możesz zwiększyć rozmiar partycji z wiersza poleceń, używając tej samej opcji podczas uruchamiania emulatora:

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

O ile mi wiadomo, ta opcja nie jest udokumentowana na developer.android.com, więc pomyślałem, że opublikuję ją tutaj, aby ludzie mogli znaleźć to rozwiązanie.

DrBwaa
źródło
jest to zdecydowanie najlepsza opcja, ponieważ nie wymaga aktualizacji żadnego pliku ani korzystania z żadnej aplikacji, po prostuavd
7ynk3r
2

Natknąłem się na to pytanie, ponieważ otrzymywałem ten błąd za pomocą Sideload Wonder Machine do instalowania aplikacji na moim prawdziwym telefonie. Znalazłem problem polegający na tym, że miałem wiele plików apk w katalogu / payload. Myślałem, że to było obsługiwane, ale kiedy usunąłem wszystkie pliki z wyjątkiem jednego .apk, błąd zniknął.

KC Baltz
źródło
2

Wystarczy odinstalować aplikację z emulatora z wiersza polecenia lub przejść do ustawień i odinstalować aplikację. Zapobiegnie to pojawianiu się błędu.

Nagendra
źródło
2

Jeśli używasz prawdziwego urządzenia, po prostu kończy Ci się pamięć wewnętrzna. Wystarczy przejść do ustawień Androida -> Aplikacje i przenieść niektóre aplikacje na kartę SD lub odinstalować niektóre aplikacje.

Jeśli używasz emulatora, zobacz odpowiedź RacZo .

marmor
źródło
9
Mówimy o niewystarczającym błędzie pamięci, który pojawia się, gdy jest dużo dostępnej pamięci.
user999717,
2

Ten sam błąd napotkałem, próbując wsadowo zainstalować około 50 aplikacji w katalogu kart SD za pomocą powłoki ADB po pełnej aktualizacji ROM:

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

Niektóre z nich zostały zainstalowane, ale wiele z nich zakończyło się błędem INSTALL_FAILED_INSUFFICIENT_STORAGE. Wszystkie nieudane aplikacje miały miejsce w nazwie. Zmieniłem nazwę partii i spróbowałem ponownie. Tym razem wszystko działało. Nie zrestartowałem się ani nic. Być może nie jest to problem, z którym musicie się zmierzyć, ale może to pomóc komuś, kto szuka tego samego problemu, co ja.

TechNetizen
źródło
Zauważyłem też, że kiedy brakuje mi nazwy aplikacji, pojawia się ten sam błąd. W moim przypadku jest to mylący komunikat o błędzie.
Insilico,
1

Rozwiązanie emulatora

Otwórz swój .Androidkatalog. Zwykle w twoim katalogu domowym. Następnie przejdź do, avda następnie otwórz katalog o nazwie avd, który chcesz zmienić.

Teraz edytuj config.iniplik i dodaj następujący wiersz lub zmodyfikuj następujący wiersz:

disk.dataPartition.size=1024

Gdzie 1024jest rozmiar, którego chcesz użyć w MB. Zapisz plik, a następnie uruchom emulator wipe user datazaznaczony. Twój emulator powinien teraz mieć nowy rozmiar.

prolink007
źródło
1

Rozwiązanie jest proste.

Otwórz Menedżera AVD. Edytuj swój AVD.

W dolnej części sekcji sprzętu znajdują się właściwości wymienione po prawej stronie „Nowe ...” i „Usuń”.

Naciśnij Nowy. Wybierz rozmiar partycji danych. Ustaw na „512 MB” (MB jest wymagany). I jesteś skończony. jeśli nadal występują problemy, zwiększ również system i partycje pamięci podręcznej, korzystając z tej samej metody.

Wszystko zostało udokumentowane tutaj: http://developer.android.com/guide/developing/devices/managing-avds.html

Zaid Daghestani
źródło
2
Partycja danych nie jest dostępna w przypadku interfejsu API Google poziomu 14
Ted Betz
1

Upewnij się, że nie podłączasz urządzenia z systemem Android do USB podczas próby uruchomienia emulatora

Sharpless512
źródło
1

Jeśli aplikacja jest uruchomiona na emulatorze i problem występuje nadal, sprawdź menedżera powiadomień. Jeśli wyświetli się ikona i powiadomienie o „Pamięć telefonu jest pełna”, oznacza to, że zainstalowałeś już tak wiele aplikacji w emulatorze. Odinstaluj kilka aplikacji, których obecnie nie chcesz z „Ustawienia >> Zarządzaj aplikacją >> Wybierz aplikację >> Odinstaluj”.
Ten zestaw.
Teraz uruchom ponownie program.

Rax
źródło
1

Ten błąd pojawia się dzisiaj, gdy używam mojego telefonu do testowania / debugowania za pomocą Eclipse.

Mój błąd polegał na tym, że użyłem norweskiego znaku specjalnego („æ”, „ø”, „å”) w nazwie aplikacji. Gdy zmieniłem nazwę aplikacji (używając „o” zamiast „ø”) aplikacja została poprawnie zainstalowana.

Prawdopodobnie nie jest to twój problem, ale może być zauważony, że inni ludzie otrzymują ten sam błąd.

EirikO
źródło
1

Po wypróbowaniu wszystkiego innego w tym wątku dowiedziałem się, że mój własny problem był spowodowany zbyt długą ścieżką do pliku .apk. Więc zapisałem się w katalogu, w którym był plik .apk i zrobiłem:

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

zamiast

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

I działało ... zainstalowane dobrze.

Pomyślałem, że to może pomóc komuś innemu.

Alma
źródło
Mogę dodać, że uczynienie z katalogu dowiązania symbolicznego pozwoliło mi tworzyć kompilacje z IDE i debugować: ln -s / Users / abc / a \ absurdalnie \ long \ directory \ path / subpath / subsubpath / subsubsubpath / shortpath
David van Dugteren
1

Obejście:

Skompiluj jako 2.1 bez android:installLocation="preferExternal".

OK?

Skompiluj jako 2.2, w tym android:installLocation="preferExternal".

Będzie to nadal instalować w wersji SDK mniejszej niż 8 (tag XML jest ignorowany).

Zespół Pannous
źródło
0

W moim przypadku zostało to naprawione poprzez zwiększenie rozszerzonej pamięci eclipse, poprzez zmianę wartości -Xmx768m w eclipse.ini

Santhosh
źródło
0

Ostatecznie odinstalowałem aplikację z urządzenia, a następnie ponownie zainstalowałem ją w Eclipse. Jest to problem, który ciągle pojawia się na moim urządzeniu przy regularnym użytkowaniu, ale dziś dostałem ten komunikat od programisty.

Roberto
źródło
0

Ja również napotkałem ten sam problem i wykonałem „przywracanie danych fabrycznych”, a potem wszystko działało dobrze.

Monish
źródło
8
Naprawdę nie poleciłbym tego jako rozwiązania. Całkowita nadwyżka.
Tim
3
Usuwa dane /, co zwalnia trochę miejsca, dzięki czemu instalacje będą działać ponownie. Bardzo tępy instrument, a nie rozwiązanie. Błąd może wrócić po kilku aplikacjach.
user999717,
22
Jest to odpowiednik powiedzenia lekarza: nie wiem, co jest nie tak z twoim ramieniem, więc odcinam to.
Derek,
0

Nie miałem dostępu do konta root na telefonie i nie jestem przygotowany na zainstalowanie mojej aplikacji na karcie SD. 15 MB miejsca jest dostępne na, /data/a moja aplikacja ma mniej niż 2 MB.

Przez jakiś czas sobie radziłem; czyszczenie projektu Eclipse i ponowne uruchamianie telefonu, ale ostatecznie przestało działać (prawdopodobnie po aktualizacji).

Czyszczenie pamięci podręcznej aplikacji rozwiązało problem i nie wymaga ponownego uruchomienia telefonu ani odinstalowania aplikacji.

Na rynku dostępne są aplikacje, których można użyć do wyczyszczenia pamięci podręcznej wielu aplikacji jednocześnie. Wyszukaj „czyste”.

J0hnG4lt
źródło