Вътрешното хранилище на виртуално устройство с Android 4.4 няма да преоразмерява

Когато създавам ново виртуално устройство с Android 4.4 с помощта на AVD Manager, не мога да накарам вътрешната памет да бъде нещо по-голямо от 200 MB.

512 MB е размерът на вътрешната памет, който бих искал да задам.

Опитах:

  • Задаване на вътрешната памет на устройството в AVD Manager на 512MB.
  • В Конфигурациите за отстраняване на грешки в проекта на Eclipse, под раздела Target, задаване на допълнителни опции на командния ред на емулатора на -partition-size 512.
  • В предпочитанията на Eclipse, под Android, зададох опциите за емулатор по подразбиране на -partition-size 512.
  • Editing the config file for my virtual device under (User)/.android/avd/(device).avd/config.ini
    • Then setting disk.dataPartition.size to disk.dataPartition.size=512M
    • Също така опитах да го настроя на disk.dataPartition.size=512MB
    • Също така опитах да го настроя на data.dataPartition.size=512M

Това се случва както на процесорите ARM, така и на Intel Atom x86.

Сега, когато премина към Android 3.0 (ARM), мога да го преоразмеря просто с помощта на AVD Manager до насита. Има ли проблем с Android 4.4? Има ли нещо, което съм пропуснал? Или евентуално заобикаляне?


person Someone13    schedule 14.12.2013    source източник
comment
Следният проблем с Android е отворен за тази грешка. Актуално състояние към 15.09.2014 г. е присвоено / триажирано. code.google.com/p/android/issues/detail?id= 75141   -  person jkwuc89    schedule 15.09.2014


Отговори (10)


Сега, когато файловата система на емулатора е ext4, успях да преоразмеря userdata.img с помощта на стандартни инструменти на Linux.

# Navigate to AVD
cd ~/.android/avd/Nexus5
# Delete old image
rm userdata-qemu.*
# Re-size the image
resize2fs userdata.img 512M
# Start the emulator and enjoy
emulator @Nexus5

Редактиране Също така успях директно да преоразмеря userdata-qemu.img, но първо трябваше да стартирам e2fsck.

 e2fsck -f userdata-qemu.img
 resize2fs userdata-qemu.img 512M
person Frohnzie    schedule 24.12.2013
comment
За съжаление това е единственият начин, който ще работи за мен. Трябва да премина към Linux, да направя това, след което да превключа обратно към Windows. Това е доста болка. - person Someone13; 06.02.2014
comment
Наличен е пакет e2fsprogs за Cygwin. Може би има MinGW порт. - person Frohnzie; 06.02.2014
comment
В Mac OS X можете да използвате brew install e2fsprogs, когато използвате мениджъра на пакети homebrew, за да инсталирате тези инструменти. Тъй като те не са свързани символично към /usr/local по подразбиране, трябва да използвате пълния им път, за да ги стартирате, напр. /usr/local/Cellar/e2fsprogs/1.42.9/sbin/resize2fs. - person nerdinand; 28.03.2014
comment
Използвах гореспоменатите команди, но сега емулаторът ми не се зарежда :( - person Kshitij Aggarwal; 04.07.2014
comment
Това, комбинирано с отговора на tune2fs по-долу, проработи, след което моя емулатор се зареди отново! - person Matt; 07.11.2014
comment
Също като Мат, използвах това и tune2fs и работи добре. Единственото нещо, което трябваше да преоразмеря както userdata-qemu.img, така и userdata.img. - person Mitch ミッチ; 08.01.2015
comment
Едно нещо - изберете да коригирате всички FS грешки, ако e2fsck ги докладва... след това стартирайте tune2fs - person Moonwalker; 18.02.2015
comment
страхотно решение! работеше на mac. Благодаря също и на nerdinand, че посочи как да инсталирате липсващата команда за mac. - person gili; 25.02.2015
comment
Edit част от отговора не работи за мен, тъй като модифицира userdata-qemu.img, а не userdata.img (първата не направи нищо за моя AVD). Също така: дадените инструменти са налични в SDK от септември'17, те са в папка ${MY_SDK_DIR}/emulator/bin64/ - person Den Drobiazko; 25.09.2017
comment
Проверете също за този ред disk.dataPartition.size=... в config.ini и се уверете, че е disk.dataPartition.size=512M вместо нещо друго. Създадох го с 2048MB конфигурация в AS UI и беше създаден с disk.dataPartition.size=2G вместо disk.dataPartition.size=2048M и нямаше да работи - person Andrei Verdes; 08.04.2019

Дори горното предложение може да доведе до застой на емулатора на android върху логото за зареждане. Причината е, че resize2fs прави промените, които като цяло са правилни, но се считат за повредени fs от android и му пречат да го монтира в режим rw, което прекъсва процеса на зареждане.

Проверката на регистрационните файлове за зареждане показва нещо подобно:

EXT4-fs error (device mtdblock1): ext4_mb_generate_buddy:741: group 2, 32366 clusters in bitmap, 32370 in gd

Събитието e2fsck не го поправя за android и за да го заобиколя, използвам tune2fs, за да променя начина, по който android трябва да продължи да монтира повреден fs.

tune2fs -e continue userdata-qemu.img
person Alexei Volkov    schedule 25.02.2014
comment
Благодаря, това в комбинация с приетия отговор по-горе ми свърши работа! - person nerdinand; 28.03.2014
comment
Да, трябваше да направя това, за да накарам емулатора да стартира след логото за стартиране на Android. - person Andrew Porritt; 16.07.2014
comment
Брилянтно! в комбинация с отговора ми свърши работа. Без tun2fs SIM беше заседнал в изображението за зареждане на Android. - person Moonwalker; 18.02.2015

Someone13, това определено е грешка в Target: „Android 4.4.2 – API ниво 19“

Имам същия проблем - не мога да променя размера на вътрешната памет на устройството в емулатора на Android SDK по никакъв начин (дори с „disk.dataPartition.size=xxxM“ в config.ini или с аргументи на командния ред „- partition-size xxx”), когато използвате Android 4.4.2 в емулатора на Android SDK.

Единственият начин е да зададете персонализиран размер е, когато използвате като Target: Android 3.0 - API ниво 11.

Моят хардуер: Windows 7 Ultimate SP1, RAM 4GB; Core Duo 2.28GHz; GT630

person Angel T    schedule 10.05.2014

Ако все още имате този проблем през 2016 г., опитайте да изтриете изображението от AVD мениджъра и след това добавете обратно емулатора.

Изглеждаше, че не мога да преоразмеря емулатора, независимо какво правя, но проработи, когато изтрих изображението и след това пресъздадох изображение с 1 GB вътрешна памет.

person green0range    schedule 11.03.2016

Успях да създам това виртуално устройство, може би да променя типа на вашето устройство или нещо подобно?

въведете описание на изображението тук

person Akshat Agarwal    schedule 23.12.2013
comment
Не ми подейства. Използвах точно същата настройка, която показахте на снимката. Опитах също така да актуализирам инструментите си за разработчици на Android и актуализирах 4.4 на 4.4.2. Все същите проблеми. - person Someone13; 24.12.2013
comment
@Someone13 Актуализирал ли си и мениджъра на tiy sdk? Изтеглете най-новата версия и я тествайте. - person Akshat Agarwal; 24.12.2013

За надграждане на отговора на @Frohnzie, resize2fs и e2fsck вече са включени в SDK Tools (може да се наложи да актуализирате вашите SDK инструменти, за да ги видите), така че не е необходимо да ги инсталирате отделно. Те се намират в yourAndroidSDKFolder/tools/bin (Windows, Linux) или yourAndroidSDKFolder/tools/bin64 (Mac, Linux).

person horstwilhelm    schedule 18.01.2016
comment
Не знам защо този отговор имаше отрицателен вот. +1, работи за мен. Ето един пример (с Android SDK, инсталиран от Xamarin): ~/Library/Developer/Xamarin/android-sdk-macosx/emulator/bin64/resize2fs ~/.android/avd/avdname.avd/userdata.img 1024M. Това е единствената команда, от която се нуждаете, ако стартирате след avd create, но преди да стартирате емулатора за първи път. - person Nate Cook; 11.09.2017
comment
Пътят в отговора е неправилен Коментар @NateCook ми помогна да намеря resize2fs - person Faceles; 01.07.2018
comment
Ако не можете да намерите resize2fs, може да успеете да инсталирате и чрез homebrew brew install e2fsprogs. Повече информация за този подход тук: stackoverflow.com/questions/20579606/ - person Nate Cook; 03.07.2018

Отговорът на Assaf G. е добър. Но забелязах в следващите връзки в първата потребителят може да създаде Emulator с вътрешно хранилище 500MB. Но той получава малко exceptions, но не е свързано с вътрешното хранилище. А в другата връзка потребителят може да създаде emulator с вътрешна памет 4096MB. Но той е изправен пред проблеми със скоростта. Така че мисля, че трябва да опитате със спецификации, предоставени в първата връзка.

1.Емулатор на Android 4.4

2.Android емулаторът се стартира завинаги

person Kanwaljit Singh    schedule 24.12.2013

За мен беше проблем, когато случайно избрах емулатора AOSP 4.4.2 в Android Studio. Емулаторът x86 на Google Inc. (по-долу) изглежда няма този бъг.

въведете описание на изображението тук

person Daniel Wilson    schedule 22.03.2015

изтриване на /data/data/com.google.android.gms/files ще освободи 200M+

person BuffK    schedule 10.05.2015

Тук изглежда има някаква уловка, в по-стари инструменти на Android, по-ниски от версия 22, това не работи. Надстроих инструментите на android до 23 и това започна да работи.

Моята конфигурация беше API Level 21 CPU: Intel X86 OS: Ubuntu Linux

person Kiran    schedule 19.03.2016