Pull to refresh

Установка приложений Google в эмулятор Android

Reading time 3 min
Views 36K


В этой статье описано как установить дополнительные программы (в частности, Google Apps) в эмулятор Android. Это может понадобиться если вы хотите на эмуляторе:
1. Настроить синхронизацию с аккаунтом Google.
2. Установить календарь и календарь провайдер.
3. Установить Android Market.
4. И прочее…


Несмотря на то, что можно создать эмулятор Android с Google API, в нём отсутствуют такие важные вещи как адаптеры синхронизации контактов, календарей и прочее…

Подготовка


Итак, помимо Android SDK, нам понадобится:
1. Google Apps (в конце, я брал от CyanogenMod 7).
2. Утилита для создания нового образа системы mkfs.yaffs2.arm.
3. Если необходимо иметь полноценную работу с календарём, то добыть Calendar.apk и CalendarProvider.apk. Их можно найти как на просторах Интернет, так и откомпилировать из исходников Android.

Для удобства в системную переменную PATH добавить пути к android-sdk\tools и android-sdk\platform-tools.

Создание эмулятора


Создать эмулятор со следующими параметрами:


Обратить особое внимание!

SD карту создать не менее 200Мб!
Все последующие команды предполагают, что в данный момент активен только один эмулятор. Если у вас запущено несколько эмуляторов/устройств, то к командам с утилитой adb необходимо добавлять параметр -s.

Подготовка к установке пакетов


Запустить эмулятор с увеличенным системным разделом
emulator -avd emulator_2.3.3 -partition-size 150

Перемонтировать системный раздел для записи (спасибо за лёгкий способ перемонтирования ArtRoman):
adb remount

Удалить пакет от SDK, который при загрузке эмулятора возвращает все настройки к дефолтным:
Войти в шелл:
adb shell

rm /system/app/SdkSetup.apk

Выйти из шелла
exit


Установка необходимых пакетов


Извлечь приложения из архива с Google Apps (папка system\app).
Установить пакеты:
adb push CarHomeGoogle.apk /system/app
adb push FOTAKill.apk /system/app
adb push GenieWidget.apk /system/app
adb push GoogleBackupTransport.apk /system/app
adb push GoogleCalendarSyncAdapter.apk /system/app
adb push GoogleContactsSyncAdapter.apk /system/app
adb push GoogleFeedback.apk /system/app
adb push GooglePartnerSetup.apk /system/app
adb push GoogleQuickSearchBox.apk /system/app
adb push GoogleServicesFramework.apk /system/app
adb push LatinImeTutorial.apk /system/app
adb push MarketUpdater.apk /system/app
adb push MediaUploader.apk /system/app
adb push NetworkLocation.apk /system/app
adb push OneTimeInitializer.apk /system/app
adb push SetupWizard.apk /system/app
adb push Talk.apk /system/app
adb push Vending.apk /system/app

Подобным образом устанавить дополнительные приложения (например, Calendar.apk и CalendarProvider.apk).

Создание нового образа системы


Загрузить в эмулятор утилиту создания образа:
adb push mkfs.yaffs2.arm /system/app

Дать права на запуск этой утилиты
adb shell

chmod 777 /system/app/mkfs.yaffs2.arm

Проверить, что все пакеты попали в /system/app:
ls /system/app


Сделать образ системы на SD карту
/system/app/mkfs.yaffs2.arm /system /sdcard/system.img


Выйти из шелла
exit

Теперь придётся набраться терпения, и слить полученный образ «adb pull /sdcard/system.img d:\temp». Скорость примерно 59Кб/с, примерно 25 минут для 100Мб образа.

Закрыть эмулятор.
Из c:\Users\\.android\avd\emulator_2.3.3.avd\ удалить cache.img и userdata-qemu.img (если они есть). Залить в эту папку полученный образ system.img.

Эмулятор готов!

Первый запуск


Запустить эмулятор
emulator -avd emulator_2.3.3


Нас встречает робот

Меняем язык на русский

Войти под аккаунтом Google из этого мастера настроек у меня не получилось. Не смог выдвинуть клавиатуру :).


В итоге пришлось настраивать синхронизацию позже




Заключение


Вот и всё! Всем успехов в разработке!
Tags:
Hubs:
+44
Comments 17
Comments Comments 17

Articles