Як збільшити обсяг пам’яті для Android-емулятора? (INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

Я отримую це іноді (не часто) для одного з моїх проектів, лише для кількох занять
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

Як збільшити накопичувач емулятора?


2
Я бачу цю помилку досить часто, навіть коли встановлений пристрій має багато місця. Просто майте на увазі, що іноді, коли ви бачите помилку, те, що йдеться про повідомлення про помилку, насправді не відповідає дійсності.
Ленс Нанек

1
@ Pentinum10 Я отримую однакову помилку як на 1.5, так і на 2.2. Ознайомтесь з цим питанням, де потрібна ваша допомога: stackoverflow.com/questions/3584297/… , будь ласка, допоможіть мені і наздоганяйте мене
Paresh Mayani

Відповіді:


127

Оновлення

Коли я це пишу, ця відповідь становить майже вісім років і майже п’ять років. Але це все ще (як я це пишу) "прийнята" відповідь, бо вона відповіла на запитання, коли її задали.

Більш нову відповідь, що стосується новіших інструментів Android Studio, можна знайти тут: https://stackoverflow.com/a/35828035/62 - це чудова відповідь на знімки екрана. Якщо ви користуєтесь Android Studio, ігноруйте відповідь Eclipse нижче.

Оригінальний відповідь на основі затемнення

Я шукав відповідь на це питання і був незадоволений наведеними вище відповідями. Але тоді я знайшов відповідь , тож ось для подальшого ознайомлення:

Щоб підсумувати (та уточнити), у програмі Eclipse перейдіть до "Конфігурації налагодження". Ви можете знайти це у спадному меню під значком "налагодження". Виберіть "target" та виберіть бажану ціль емулятора для запуску. Потім у розділі "додаткові параметри командного рядка емулятора" додайте це:

-розмір розміру 1024

Потім ЗАКРІТТЕ емулятор (і видаліть будь-які пристрої) та натисніть на значок налагодження, який запустить вибраний вами емулятор. Це важливо: Eclipse потребує запуску налагоджувача, а не AVD.

Це вирішило для мене проблему.


8
Зауважте, що "розмір розділу" знаходиться в мегабайтах, і що для встановлення APK вам потрібно принаймні вдвічі більше дискового простору, ніж розмір APK.
Крістофер Орр

5
Ще одна примітка: потрібно клацнути правою кнопкою миші проект, який потрібно запустити у затемненні -> Виконати-> Конфігурація запуску-> Вибрати проект-> Ціль -> прокрутити вниз-> додати розмір -розділ 1024 до додаткових параметрів Em-> потім запустіть проект із затемнення
SpoiledTechie.com

4
Google повинен додати до цього явні параметри властивостей для Android 3.2 або 4.0. Виправте проклятий плагін Eclipse AVD
peter_pilgrim

приємна знахідка ... насправді слід виставляти через інструменти ADT. Емулятор ICS за замовчуванням має лише 60 Мб! неможливо встановити APK на річ поза коробкою.
ddewaele

1
Для тих, хто дивиться на цю прийняту відповідь через роки, як я, ви, мабуть, захочете подивитися на stackoverflow.com/a/35828035/62 .
Лірон Ягдав

90

На Android Studio

Відкрийте AVD Manager.

введіть тут опис зображення

Клацніть Піктограма редагування, щоб редагувати AVD.

введіть тут опис зображення

Натисніть Показати розширені настройки.

введіть тут опис зображення

Змініть розмір внутрішньої пам’яті, Ram, SD Card за потребою. Клацніть Готово.

введіть тут опис зображення

Підтвердіть спливаюче вікно, натиснувши так.

введіть тут опис зображення

Протріть дані на AVD і підтвердьте спливаюче вікно, натиснувши так.

введіть тут опис зображення

Важливо: Після збільшення розміру, якщо воно автоматично не вимагає стерти дані, вам доведеться це зробити вручну, відкривши спадне меню AVD і вибравши Wipe Data.

введіть тут опис зображення

Тепер запустіть і використовуйте свій Емулятор із збільшенням пам’яті.


7
Зміна "Внутрішнього сховища" нічого не робить для мене до або після створення AVD. Він завжди пропонує 300MB та попередження про мало місця.
Тревіс Крістіан

3
Ви видалили дані зі спадного меню в диспетчері AVD, як тільки змінили розмір.
Cijo

1
Я вже видалив AVD, але це сталося і з нещодавно налаштованими незапущеними зображеннями. В іншому питанні я виявив, що це проблема з певними API-кодами <23.
Тревіс Крістіан

OMG - дякую за це! Це єдине рішення, яке я знайшов, що спрацювало!
SammyK

2
Це має бути прийнятою відповіддю та першою, яка з’явиться (не застарілі відповіді, пов’язані із затемненням). Недостатньо змінити розмір і запустити емулятор (навіть при використанні Cold Boot Now ). Ключ, здається, команда Wipe Data . Дякую!
Алекс Ванг

42

Додайте наступне до avd config.ini

disk.dataPartition.size=1024MB

Повідомте мене, чи працює це і для вас.

Я додав у рядку Додати конфігурацію розміру розділу даних
Знімається екран екрану пам'яті AVD


Не працював для мене на зображенні 2.3. Я все ще бачу лише 128 Мб внутрішньої пам’яті, доступної для додатків.
Маттіас

1
Я помітив, що в інтерфейсі "Редагувати" AVD Manager, намагаючись встановити це значення вручну, завжди буде скинути його на 0. Можливо, пов’язана проблема? Можливо, його не передбачається встановлювати на деяких версіях Android?
Маттіас

2
Ви повинні ввести таке значення, як 1024MBпри використанні диспетчера AVD. Ви не можете просто увійти 1024Взяв трохи часу, щоб зрозуміти це, і я підтвердив це працює
Ронні,

19

Запустіть AVD Manager

Виберіть свій AVD і натисніть кнопку "Детальніше ...".

У моєму випадку AVD Manager встановлює розмір диска як

disk.dataPartition.size=4000M

Це недійсне значення , диск становить приблизно 500 Мб, незважаючи на вказані цифри.

Перейдіть у папку AVR за маршрутом у розділі "Інформація про AVD".

Відредагуйте його в config.ini для

disk.dataPartition.size=4000MB

та видаліть усі .img файли.


2
Це має бути обрана відповідь. У поточних версіях Android Studio (3.0.1) властивості налаштувань редагування відтіняються, якщо ви використовуєте AVD з підтримкою Google Play. Це спрацювало. Я змінив свій тестовий пристрій на 2000 Мб з 400M, видалив усі * .img та * .qcow2 файли. Стерли дані на AVD. Потім завантажив його, і він мав 2000 МБ пам’яті.
MLindsay

@MLindsay Я згоден
mwa91

Просто FYI, мені не довелося видаляти * .img або будь-який інший файл. Просто змінити значення config.ini було достатньо.
Мохіб Шет

Дякую! Працював над моєю справою.
android_dev

10

Я робив установку apk:

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

І я отримував повідомлення про помилку, яке мені це говорило

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

було занадто великим. Використовуючи інструменти sdk з r15 та ADT 15, я зміг використовувати диспетчер AVD для маніпулювання деякими з моїх існуючих налаштувань емулятора:

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

потім перейдіть до вікна "Обладнання обладнання" трохи нижче "Шкіра:" Мені вдалося вибрати за допомогою "Обладнання: нова кнопка" Ідеальний розмір розділу ". Проте мені не вдалося встановити значення, відмінне від '0'. Непомітно, я зайшов до свого каталогу $ {HOME} /. Android / avd. Там був каталог MyVm.avd. Зайшовши в цей каталог, я знайшов файл 'config.ini'. Там був запис:

disk.dataPartition.size=0

Я встановив це:

disk.dataPartition.size=1024

.. потім повернувся до диспетчера AVD, вибрав MyVm, вибрав "Пуск", вирішив стерти дані користувача, виграти діалогове вікно, після чого, і зміг запустити та встановити.


Він працював в останній раз штраф , але сьогодні я повинен був написати disk.dataPartition.size=1024MB, так як 1024і 1024mне працював.
Суфіан

6

avd manager має опцію "ідеальний розмір системного розділу", спробуйте встановити його на 1024 Мб або скористайтеся параметром запуску командного рядка, який робить те саме.

fyi, я зіткнувся з цією проблемою лише із зображенням емулятора 4.0.


Те ж саме. Коли ви це зробите, переконайтесь, що перезавантажте емулятор з чистого стану, а НЕ зі знімка.
Манфред Мозер

6

Просто запустіть емулятор командного рядка так:

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

Не впевнений, чому це було проголосовано - працювали для мене, тому голосуйте вгору. :)
Роберт

3

Щоб змінити розмір зберігання емулятора Android в Linux:

1) встановити qemu

2) Знайдіть каталог, що містить файли img віртуальної машини. Щось на зразок ~ / .android / avd / .avd та cd до нього.

3) Змініть розмір зображень ext4: тобто для зростання від 500Mb до 4Gb Execute

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

4) рости файлову систему:

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

5) Для зображення sd-карти необов'язково: збереження даних:

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

6) зміни розміру зображення від 100Mb до Gb:

qemu-img resize sdcard.img +3.9GB

7) повторно генеруйте файлову систему:

mkfs.vfat sdcard.img

8) необов'язково: відновлення старих даних:

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

2

Я початківець, але в мене була ця проблема, коли я грав разом із "Hello Grid View". Я намагався використовувати власні фотографії, які були дуже великими за розміром файлу.

Швидке виправлення полягало в зменшенні кількості фотографій, зменшуючи таким чином розмір файлу APK.

Але, мабуть, моє наступне питання для всіх, хто потрапляє на цю тему, такий: як я можу додавати великі файли, такі як JPG та MP3, до програми та переконатися, що вони зберігаються на SD-картці, щоб APK залишався невеликим?


2
Я думаю, що тут я знайшов відповідь: developer.android.com/guide/topics/resources/index.html Спробуйте використовувати "активи" замість "ресурси" для будь-яких великих елементів. Зі сторінки: Ресурси є невід’ємною частиною програми Android. Взагалі, це зовнішні елементи, які ви хочете включити та посилатись у свою програму, наприклад зображення, аудіо, відео, текстові рядки, макети, теми тощо. Кожна програма Android містить каталог ресурсів (res /) та каталог для активи (активи /).

2

вам потрібно збільшити віртуальну пам'ять емулятора

Як збільшити віртуальну пам'ять емулятора

емулятор -avd "Назва емулятора" -розмір розділу 2024

після цього спробуйте встановити свій apk


2

Оновіть свої налаштування в AVD Manager та запустіть пристрій, включивши "Стерти дані користувача". Це працювало для мене.


1
У новому інтерфейсі AVD клацніть правою кнопкою миші на лінії емулятора, а потім виберіть стерти дані користувача після зміни внутрішньої пам’яті.
Tiago Zortéa De Conto

1

Я думаю, вам слід перезапустити емулятор за допомогою "емулятор -wipe-data -avd YourAvdName" або встановити прапорець "Стерти дані користувача" в конфігурації запуску, якщо ви використовуєте Eclipse.

Я зараз стикаюся з тим же питанням.


0

Єдиний раз, коли я бачив це, це відбувалося, коли файловій системі хоста було в основному не простор. Чи є у вас багато вільного місця у файловій системі, де зберігається файлова система VM?


У мене є багато місця на жорстких дисках 13 Гб безкоштовно.
Pentium10

0

Це не є правильною відповіддю, але це невеликий натяк.

Якщо ви хочете використовувати статичні файли у вашому додатку. Ви повинні розміщувати їх як ресурси або як активи. Але якщо у вас є проблеми з пам’яттю, як, щоб ваш APK малий, вам потрібно змінити дизайн додатка таким чином,

замість того, щоб розміщувати їх як ресурси, під час роботи програми (після встановлення) ви можете брати файли (як правило, різні файли, оскільки користувач може не зберігати потрібні файли) з SD Card. Для цього U може використовувати ContentResolver для отримання аудіофайлів, файлів зображень на вибір користувача.

Завдяки цьому ви можете надати користувачеві ще одну функцію, як-от він може завантажувати аудіо / графічні файли в додаток за власним вибором.


0

ви можете запустити його під час вибору одного елемента з лівого дерева "віртуальний пристрій" у діалоговому вікні диспетчера AVD на платформі затемнення, у початковому інтерфейсі є опція "Стерти дані користувача"


0

Наступний підхід працював для мене

  1. Перейдіть до папки SDK / інструментів для android у вікні терміналу (якщо ви не додали шлях до нього)

  2. Переконайтесь, що віртуальний пристрій, який ви плануєте очистити, вимкнено.

  3. Запустіть команду "./emulator -wipe-data -avd YourAvdName", де YourAvdName - ім'я вашого віртуального пристрою для Android


-2

Спробуйте вибрати проект -> очистити. Просте очищення може виправити це.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.