Все разработчики под Android знают, насколько медленно работает эмулятор. В июне прошлого года Intel представила Android, который работает в режиме x86 (без эмуляции ARM). И конечно, скорость эмулятора стала потрясающая. Но в системных образах этих эмуляторов отсутствуют Google Apps.
В этой статье мы добавим приложения от Google.
Необходимо установить Intel Hardware Accelerated Execution Manager.
Скачиваем Google Apps (версия CM 10.1)
Также, через Android SDK необходимо скачать Intel x86 Atom System Image для Android 4.2.2 (API 17).
Создаём эмулятор:
Запускаем эмулятор из консоли с увеличенным системным разделом:
emulator -avd tablet_4.2 -partition-size 512
Заходим в папку, где архив с Google Apps, и запускаем скрипт (скрипт на bash):
# извлечение Google Apps в папку gapps
unzip gapps-jb-20121212-signed.zip -d ./gapps
# перемонтирование системного раздела для записи
adb remount
# Удаление пакета, который сбрасывает все настройки при запуске эмулятора.
adb shell rm /system/app/SdkSetup*
# Копирование системных приложений из Googe Apps
find ./gapps/system/app/ -type f -exec adb push {} /system/app/ ;
find ./gapps/system/framework/ -type f -exec adb push {} /system/framework/ ;
find ./gapps/system/lib/ -type f -exec adb push {} /system/lib/ ;
find ./gapps/system/etc/permissions/ -type f -exec adb push {} /system/etc/permissions/ ;
adb shell mkdir /system/etc/preferred-apps
find ./gapps/system/etc/preferred-apps/ -type f -exec adb push {} /system/etc/preferred-apps/ ;
adb push ./gapps/system/etc/g.prop /system/etc/
adb shell mkdir /system/addon.d
find ./gapps/system/addon.d/ -type f -exec adb push {} /system/addon.d/ ;
find ./gapps/system/tts/lang_pico/ -type f -exec adb push {} /system/tts/lang_pico/ ;
adb shell mkdir -p /system/usr/srec/en-US
find ./gapps/system/usr/srec/en-US/ -type f -exec adb push {} /system/usr/srec/en-US/ ;
# Скачиваем mkfs.yaffs2.x86 (https://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.x86)
curl --remote-name https://android-group-korea.googlecode.com/files/mkfs.yaffs2.x86
# Записываем его в эмулятор и делаем образ системы
adb push mkfs.yaffs2.x86 /system/app
adb shell chmod 777 /system/app/mkfs.yaffs2.x86
adb shell /system/app/mkfs.yaffs2.x86 /system /sdcard/system.img
# Извлекаем с SD карты образ
adb pull /sdcard/system.img
# Копируем образ в папку с эмулятором
cp system.img ~/.android/avd/tablet_4.2.avd/
Далее перезапускаем эмулятор в обычном режиме. Теперь у нас система с полным комплектом Google Apps!
Если будет появляться сообщение, что сбой в клавиатуре, то можно установить любую другую.
Полученный образ можно сохранить и использовать при создании новых эмуляторов на Android 4.2 (просто копировать его в папку avd соответствующего эмулятора). По этому же принципу можно сделать и под другие версии.
Успехов в разработке!
Автор: Wizard999