it-roy-ru.com

Внутреннее хранилище виртуального устройства Android 4.4 не изменится

При создании нового виртуального устройства Android 4.4 с помощью AVD Manager я не могу получить внутреннее хранилище размером более 200 МБ.

512 МБ - это объем внутренней памяти, который я хотел бы установить.

Я пробовал:

  • Установка внутренней памяти устройства в AVD Manager на 512 МБ.
  • В проекте «Отладочные конфигурации» проекта Eclipse на вкладке «Цель» задайте для дополнительных параметров командной строки эмулятора значение -partition-size 512.
  • В настройках Eclipse под Android я установил параметры эмулятора по умолчанию на -partition-size 512.
  • Редактирование файла конфигурации моего виртуального устройства в разделе (Пользователь) /. Android/avd/(устройство) .avd/config.ini
    • Затем установите для disk.dataPartition.size значение disk.dataPartition.size = 512M.
    • Также попытался установить его на disk.dataPartition.size = 512 МБ
    • Также попытался установить его в data.dataPartition.size = 512M

Это происходит как на ARM, так и на процессорах Intel Atom x86.

Теперь, когда я переключаюсь на Android 3.0 (ARM), я могу изменить его размер, просто используя AVD Manager. Есть ли проблема с Android 4.4? Я что-то пропустил? Или возможное обходное решение?

44
Someone13

Теперь, когда файловая система эмулятора 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
52
Frohnzie

Даже приведенное выше предложение может привести к зависанию эмулятора Android на загрузочном логотипе. Причина в том, что resize2fs делает изменения, которые в общем верны, но Android считает их сломанными и не позволяет монтировать их в режиме rw, что приводит к зависанию процесса загрузки.

Examening журналы загрузки показывает что-то вроде этого:

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

Event e2fsck не исправляет это для Android, и чтобы обойти это, я использую tune2fs, чтобы изменить способ, которым Android должен продолжать монтировать сломанные fs.

tune2fs -e continue userdata-qemu.img
29
Alexei Volkov

Кто-то13, это определенно ошибка в цели: «Android 4.4.2 - API Level 19»

У меня та же проблема - я никак не могу изменить размер внутренней памяти устройства в эмуляторе Android SDK (даже с «disk.dataPartition.size = xxxM» в config.ini или с аргументами командной строки «- размер раздела xxx ») при использовании Android 4.4.2 в эмуляторе Android SDK.

Единственный способ - установить нестандартный размер при использовании в качестве Target: Android 3.0 - API Level 11.

Мое оборудование: Windows 7 Ultimate SP1, RAM 4 ГБ; Core Duo 2,28 ГГц; GT630

5
Angel T

Если проблема по-прежнему сохраняется в 2016 году, попробуйте удалить изображение из диспетчера AVD, а затем снова добавьте эмулятор.

Казалось, что я не могу изменить размер эмулятора независимо от того, что я делаю, но он работал, когда я удалил изображение, а затем воссоздал изображение с внутренней памятью 1 ГБ.

4
green0range

Мне удалось создать это виртуальное устройство, может быть, изменить тип вашего устройства или что-то?

enter image description here

1
Akshat Agarwal

Чтобы воспользоваться ответом @ Frohnzie, resize2fs и e2fsck теперь включены в инструменты SDK (вам может потребоваться обновить инструменты SDK, чтобы увидеть их), поэтому вам не нужно устанавливать их отдельно. Они расположены в yourAndroidSDKFolder/tools/bin (Windows, Linux) или yourAndroidSDKFolder/tools/bin64 (Mac, Linux).

1
horstwilhelm

Здесь, кажется, есть некоторая хитрость, в старых инструментах Android ниже 22-й версии это не работает. Я обновил инструменты Android до 23, и это начало работать.

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

0
Kiran

Для меня это была проблема, когда я случайно выбрал эмулятор AOSP 4.4.2 в Android Studio. Эмулятор Google Inc. x86 (ниже), по-видимому, не имеет этой ошибки.

enter image description here

0
Daniel Wilson

Ответ Асафа Г. хорош. Но я заметил, что в следующих ссылках первый пользователь может создать Emulator с internal storage500MB. Но он получает некоторую exceptions, но не связанную с внутренним хранилищем . А по другой ссылке пользователь может создать emulator с внутренней памятью4096MB. Но он сталкивается с проблемами скорости. Поэтому я думаю, что вы должны попробовать использовать спецификации, указанные в первой ссылке.

1. Эмулятор Android 4.4

2. Эмулятор Android запустится навсегда

0
Kanwaljit Singh

delete /data/data/com.google.Android.gms/files выпустит 200M +

0
BuffK