Запуск модифицированного ядра Goldfish на Android из исходников

Я пытаюсь запустить эмулятор из исходного кода Android, загрузив ядро ​​​​золотой рыбки с некоторыми изменениями конфигурации. Хотя я нашел много вопросов по этому поводу, но не мог найти свой ответ. 1. Я скачал исходники андроида. 2. Я также успешно собрал ядро ​​своей золотой рыбки. Теперь я вижу zImage в папке /goldfish/arch/arm/boot. После этого я попытался запустить этот эмулятор, обратившись к множеству похожих вопросов. Сборка Android из исходного кода — эмулятор и AVD, Запуск эмулятора после сборки Android из исходного кода, Как скомпилировать ядро ​​Android goldfish 3.4 и запустить его на эмуляторе. Но, к сожалению, не решил мою проблему. Когда я пытаюсь запустить эмулятор с помощью:

./emulator -debug init -kernel Thepath/goldfish/arch/arm/boot/zImage -avd firstAvd -wipe-data

Я получаю сообщение об ошибке, что AVD не найден. Затем я нашел этот блог, https://yaapb.wordpress.com/2012/09/22/build-a-custom-android-emulator-image/, где сказано сначала сделать эмулятор из исходного дерева с помощью следующих команд:

$ source build/envsetup.sh
$ lunch full-eng
$ make -j4
$ emulator -wipe-data &

Затем, чтобы запустить эмулятор с моим модифицированным ядром, мне нужно запустить:

$ cd ${ANDROID_BUILD_TOP}
$ emulator -kernel ~/workspace/android/goldfish/arch/arm/boot/zImage -wipe-data &

Хотя я пытаюсь это сделать, процесс создания эмулятора с помощью команды make занимает несколько часов. 7% за 90 минут до сих пор. Итак, в то же время я хотел знать, может ли кто-нибудь сказать мне, что для запуска эмулятора с моим ядром мне нужно сначала создать эмулятор из исходного кода? Также я не нахожу файлы system.img, ramdisk.img в дереве исходников андроида. Это нормально или я их получаю при создании эмулятора?

**

РЕДАКТИРОВАТЬ

** Я также хотел бы знать, могу ли я запустить эмулятор без make -j4. Дерево исходного кода Android также включает SDK. Могу ли я запустить эмулятор из SDK. Если да, то как? В официальных документах Google говорится, что нужно запустить следующую команду из папки /tools в SDK. Но в папке sdk нет папки tools.


person ankur    schedule 05.01.2016    source источник


Ответы (1)


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

$ cd ${ANDROID_BUILD_TOP}
$ source build/envsetup.sh
$ emulator -kernel ~/workspace/android/goldfish/arch/arm/boot/zImage -wipe-data &

Команда source build/envsetup.sh добавит в вашу оболочку дополнительные команды, и вы сможете запустить эмулятор, не собирая его еще раз с нуля.

person Yury    schedule 25.01.2017