Dostaję to czasami (niezbyt często) dla jednego z moich projektów, tylko na kilka zajęć
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
Jak zwiększyć pamięć emulatora?
Dostaję to czasami (niezbyt często) dla jednego z moich projektów, tylko na kilka zajęć
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
Jak zwiększyć pamięć emulatora?
Odpowiedzi:
W chwili, gdy to piszę, ta odpowiedź ma prawie osiem lat i około pięciu lat. Ale nadal (jak to piszę) jest odpowiedzią „zaakceptowaną”, ponieważ odpowiedziała na pytanie, kiedy zostało zadane.
Nowszą odpowiedź, która dotyczy nowszych narzędzi Android Studio, można znaleźć tutaj: https://stackoverflow.com/a/35828035/62 - to świetna odpowiedź ze zrzutami ekranu. Jeśli używasz Android Studio, zignoruj poniższą odpowiedź Eclipse.
Szukałem odpowiedzi na to pytanie i nie byłem zadowolony z powyższych odpowiedzi. Ale potem znalazłem odpowiedź , więc oto dla przyszłego odniesienia:
Podsumowując (i wyjaśniając), w Eclipse przejdź do „Konfiguracji debugowania”. Można to znaleźć w menu rozwijanym pod ikoną „debugowania”. Wybierz „cel” i preferowany cel emulatora do uruchomienia. Następnie w sekcji „dodatkowe opcje wiersza poleceń emulatora” dodaj to:
-rozmiar partycji 1024
Następnie ZAMKNIJ emulator (i usuń wszystkie urządzenia) i kliknij ikonę debugowania, co spowoduje uruchomienie wybranego preferowanego emulatora. To ważne: Eclipse musi uruchomić debugger, a nie AVD.
To rozwiązało problem.
Otwórz Menedżera AVD.
Kliknij ikonę Edytuj, aby edytować AVD.
Kliknij opcję Pokaż ustawienia zaawansowane.
W razie potrzeby zmień pamięć wewnętrzną, pamięć RAM, rozmiar karty SD. Kliknij Finish.
Potwierdź wyskakujące okienko, klikając tak.
Wyczyść dane w AVD i potwierdź wyskakujące okienko, klikając tak.
Ważne: jeśli po zwiększeniu rozmiaru nie poprosi Cię automatycznie o wyczyszczenie danych, musisz to zrobić ręcznie, otwierając menu rozwijane AVD i wybierając opcję Wyczyść dane.
Teraz uruchom i używaj swojego emulatora ze zwiększoną pamięcią masową.
Dodaj następujące elementy do pliku avd config.ini
disk.dataPartition.size=1024MB
Daj mi znać, jeśli to działa również dla Ciebie.
Dodałem w linii
1024MB
podczas korzystania z AVD Manager. Nie możesz po prostu wejść. 1024
Zajęło to trochę czasu, aby to rozgryźć, a ja potwierdziłem, że to działa
Uruchom Menedżera AVD
Wybierz swój AVD i kliknij przycisk „Szczegóły ...”.
W moim przypadku AVD Manager ustawia rozmiar dysku na
disk.dataPartition.size=4000M
Ta nieprawidłowa wartość , dysk ma około 500 MB pomimo określonych liczb.
Przejdź do folderu AVR według ścieżki w „Szczegóły AVD”.
Edytuj go w config.ini do
disk.dataPartition.size=4000MB
i usuń wszystkie pliki .img.
Robiłem instalację apk:
adb install /home/me/jones_android-arm.apk
Otrzymałem komunikat o błędzie z informacją o tym
/data/local/tmp/jones_android-arm.apk
był za duży. Korzystając z narzędzi sdk z r15 i ADT 15, byłem w stanie użyć menedżera AVD do manipulowania niektórymi ustawieniami mojego istniejącego emulatora:
Window-> AVD Manager -> (select you virtual machine) -> Edit
następnie przechodząc do okna Właściwości sprzętu tuż pod „Skórą”: mogłem wybrać za pomocą przycisku Sprzęt: Nowy „Idealny rozmiar partycji”. Nie mogłem jednak ustawić innej wartości niż „0”. Niezrażony wszedłem do katalogu $ {HOME} /. Android / avd. Był tam katalog „MyVm.avd”. Wchodząc do tego katalogu znalazłem plik „config.ini”. Był wpis:
disk.dataPartition.size=0
Ustawiłem to na:
disk.dataPartition.size=1024
.. następnie wrócił do Menedżera AVD, wybrał MyVm, wybrał „Start”, zdecydował się wyczyścić dane użytkownika w wyświetlonym oknie dialogowym i był w stanie uruchomić i zainstalować.
disk.dataPartition.size=1024MB
, ponieważ 1024
i 1024m
nie działałem.
Menedżer avd ma opcję „idealny rozmiar partycji systemowej”, spróbuj ustawić ją na 1024 MB lub użyj opcji uruchamiania wiersza poleceń, która robi to samo.
fyi, napotkałem ten problem tylko z obrazem emulatora 4.0.
ten problem dotyczy Androida 1.5 .. wypróbuj 2.0, 2.1 lub 2.2
<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
Aby zmienić rozmiar miejsca przechowywania emulatora Androida w systemie Linux:
1) zainstaluj qemu
2) Zlokalizuj katalog zawierający pliki img maszyny wirtualnej. Coś w rodzaju ~ / .android / avd / .avd i cd do tego.
3) Zmień rozmiar obrazów ext4: np. W celu zwiększenia z 500 Mb do 4 GB
qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB
4) Rozwiń system plików:
e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img
5) W przypadku obrazu karty SD opcjonalnie: uratuj dane:
mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1
6) zmień rozmiar obrazu ze 100 Mb na GB:
qemu-img resize sdcard.img +3.9GB
7) ponownie wygeneruj system plików:
mkfs.vfat sdcard.img
8) opcjonalnie: przywróć stare dane:
mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1
Jestem początkującym, ale miałem ten problem podczas zabawy z „Hello Grid View”. Próbowałem użyć własnych zdjęć, które były bardzo duże.
Szybką naprawą było zmniejszenie liczby zdjęć, a tym samym zmniejszenie rozmiaru pliku APK.
Ale wydaje mi się, że moje dalsze pytanie dla każdego, kto trafi na ten wątek, jest następujące: Jak dołączyć duże pliki, takie jak JPG i MP3 do aplikacji, i upewnić się, że zapisują się na karcie SD, aby APK pozostał mały?
musisz zwiększyć pamięć wirtualną emulatora
Jak zwiększyć pamięć wirtualną emulatora
emulator -avd "Nazwa emulatora" -rozmiar partycji 2024
potem spróbuj zainstalować apk
Zaktualizuj swoje ustawienia w AVD Manager i uruchom urządzenie, włączając opcję „Wyczyść dane użytkownika”. To zadziałało dla mnie.
Wydaje mi się, że należy ponownie uruchomić emulator za pomocą polecenia „emulator -wipe-data -avd YourAvdName” lub zaznaczyć opcję „Wipe User Data” w konfiguracji uruchamiania, jeśli używasz Eclipse.
Mam teraz ten sam problem.
Widziałem to tylko raz, gdy w systemie plików hosta było praktycznie za mało miejsca. Czy masz dużo wolnego miejsca w systemie plików, w którym przechowywany jest system plików maszyny wirtualnej?
Z pewnością nie jest to właściwa odpowiedź, ale jest to mała wskazówka.
Jeśli chcesz korzystać z plików statycznych w swojej aplikacji. Powinieneś umieścić je jako zasoby lub aktywa. Ale jeśli masz problemy z pamięcią, jak zachować mały plik APK, musisz zmienić projekt aplikacji w taki sposób, aby
zamiast umieszczać je jako zasoby, podczas uruchamiania aplikacji (po instalacji) możesz pobrać pliki (z pewnością różne pliki, ponieważ użytkownik może nie przechowywać plików, których potrzebujesz) z karty SD. W tym celu U może używać ContentResolver do pobierania plików audio i obrazów na wybór użytkownika.
Dzięki temu możesz zapewnić użytkownikowi inną funkcję, na przykład ładowanie plików audio / obrazów do aplikacji według własnego wyboru.
Poniższe podejście zadziałało dla mnie
Przejdź do folderu Android SDK / Tools w oknie terminala (na wypadek, gdybyś nie dodał do niego ścieżki)
Upewnij się, że urządzenie wirtualne, które planujesz wyczyścić, jest wyłączone.
Uruchom polecenie „./emulator -wipe-data -avd YourAvdName”, gdzie YourAvdName to nazwa Twojego wirtualnego urządzenia z systemem Android