Патч файла в system.img для использования с эмулятором Android - PullRequest
4 голосов
/ 02 февраля 2011

Мне нужно исправить файл в файле system.img, используемом эмулятором Android, в частности, я хочу добавить двоичный файл ARM в каталог / system / bin.

У меня предварительно скомпилирован этот двоичный файли он отлично работает в моем эмуляторе, но я не могу просто перемонтировать system.img как rw и adb, потому что это изменение непостоянно при перезагрузках.Я попытался сделать это на копии system.img и передать его в эмулятор с -system, но это не было постоянным, к сожалению.

В идеальном мире я хочу изменить процесс "make sdk" так, чтобыПроцесс сборки SDK автоматически включает мой двоичный файл, когда он создает system.img.Можно ли это сделать?

Если это невозможно, есть ли возможность вставить его в изображение вручную?

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 20 февраля 2013

Я был заинтересован в постоянном изменении папки / system и попытался распаковать файл system.img, который прошел нормально, но мне не удалось создать новый img, которым эмулятор был доволен (используя инструменты mkyaffs2 и unyaffs2 для извлечения и созданияновый system.img).

Вместо этого я нашел гораздо более простое решение:

  1. Удалите все из каталога / data / (кроме lost + found)
  2. Скопируйте содержимое / system в папку / data
  3. Внесите необходимые изменения в / data /
  4. Убейте эмулятор

Теперь вы перемещаете ~ /.android / avd / MYANDROID.avd / userdata-qemu.img в ~ / system.img (или где угодно) и запустите ваш эмулятор с вашим новым образом системы:

emulator -debug all -show-kernel -verbose -avd MYANDROID -no-boot-anim \
-gpu on -partition-size 800 -system [path to your new system.img]

Папка / data находится там, где находятся данные пользователя-qemu.img файл монтируется.Он создается при первом запуске эмулятора и воссоздается при его удалении.(хотя ваши установленные приложения исчезнут).Заполнив его содержимым папки / system и затем сделав необходимые изменения, вы создали замену для файла system.img.

0 голосов
/ 16 февраля 2012

system.img замените исходным, поэтому вам нужно давать патчи всякий раз, когда ваш эмулятор загружается, проверяет logcat, а затем с помощью ADB push вы вручную выдавливаете патчи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...