Системный раздел эмулятора Android не имеет места от начала

У меня странная проблема с эмулятором Android. Я создал виртуальное устройство через Android AVD manager (недавно созданный эмулятор с платформой 2.1 и уровнем API 7). Я попробовал со стандартными настройками и с дополнительным аппаратным параметром для большего размера памяти устройства (256 МБ), но ничего не изменилось.

Мне нужно отправить файлы в системный раздел, чтобы протестировать проект (называемый haggle), но по какой-то причине системный раздел не имеет места от начала.

aa [email protected] /home/haggle-0.2-android
$ adb -s emulator-5554 shell

 # df
df
/dev: 47084K total, 0K used, 47084K available (block size 4096)
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 73600K total, 73600K used, 0K available (block size 4096)
/data: 65536K total, 18464K used, 47072K available (block size 4096)
/cache: 65536K total, 1156K used, 64380K available (block size 4096)

Как вы видите, системный раздел имеет 0K пространство. Когда вы подключаете ненастроенный HTC Nexus One и делаете то же самое, я получаю следующие значения:

/dev: 108896K total, 0K used, 108896K available (block size 4096)
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 148480K total, 116364K used, 32116K available (block size 4096)
/data: 200960K total, 22296K used, 178664K available (block size 4096)
/cache: 97280K total, 1852K used, 95428K available (block size 4096)
/sdcard: 3864064K total, 118496K used, 3745568K available (block size 32768)

Почему системный раздел на эмуляторе имеет 0K свободного места от начала и что я могу сделать, чтобы изменить это? Даже если я делаю раздел с записью с помощью mount/remount, я получаю те же значения 0K.

Любые советы?

Ответ 1

Нашел ответ:)

При запуске эмулятора вы можете указать размер раздела по размеру x emulator_name.

выполняется через терминал. Пример:

emulator -partition-size 125 @AVD1

ИЛИ

emulator -partition-size 125 -avd AVD1

Обратите внимание, что размер должен быть больше вашего текущего размера системного раздела. Для эмулятора Android4.0.3 размер по умолчанию уже 168, поэтому установите новый размер раздела на нечто большее, чем 256

Ответ 2

В настоящее время -partition-size изменяет раздел /system/data, но не пространство раздела /system.

Например, если вы хотите установить полные GApps, вам потребуется больше места.

Общая процедура для этого в Unix описана по адресу https://unix.stackexchange.com/questions/104790/how-to-setup-a-growable-loopback-device

Короче:

  1. Сделайте копию system.img, чтобы не изменять исходный файл в SDK (cp system.img system-extended.img)
  2. Увеличьте ваш system-extended.img до желаемого размера (например, truncate system-extended.img -s 2G)
  3. Изменение размера внутренней файловой системы ext4 (resizefs system-extended.img ИЛИ resize2fs system-extended.img)
  4. Используйте новый файл img при вызове эмулятора с помощью параметра -system <path/to/system-extended.img>. -writable-system также может пригодиться вам.

Ответ 3

Я нашел проблему. Папка SDK_MANAGER находилась в каталоге НЕСТАНДАРТНЫХ символов на моем диске D (D:/ასერ/?dwe + joan/SKD_MANAGER) и поэтому он не смог получить правильный размер раздела. Я переместил ** SDK_MANAGER * в D:/** SDK_MANAGER * и проблема решена!

(так, у кого есть сообщения об ошибках типа "Недопустимый размер системного раздела" или "panick: невозможно открыть avd1", этот пост может помочь)