Google Play на эмуляторе Android 4.0


184

Как я могу установить Google Play .apk на мой эмулятор Android 4.0?


1
Примечание: комментарии имеют неоднозначные результаты, поэтому пробег может варьироваться
AMB

но то же самое с другими версиями эмулятора, и он работал там, так почему он работает в 4.x? :)
reox

Ответы:


259

Скачать Google Apps (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk)
от сюда .

Запустите ваш эмулятор:

emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim

Затем используйте следующие команды:

# Remount in rw mode.
# NOTE: more recent system.img files are ext4, not yaffs2
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

# Allow writing to app directory on system partition
adb shell chmod 777 /system/app

# Install following apk
adb push GoogleLoginService.apk /system/app/.
adb push GoogleServicesFramework.apk /system/app/.
adb push Phonesky.apk /system/app/. # Vending.apk in older versions
adb shell rm /system/app/SdkSetup*

21
Примечание: Vending.apk в последних выпусках называется Phonesky.apk
Catalin Morosan

9
URL не работает :(
TheDude

16
-разбиение размера пары важны, без него я получил OutOfMemory исключения при толкая APK
микрофон

12
Я думаю, что этот ответ должен быть принятым ответом. В конце концов, это фактический ответ, текущий принятый ответ (11/11/2013) - это всего лишь «ломать эйл, как плохо, хорошо?» тип комментария.
Крис-л

4
Я единственный, кто не может заставить это работать? На эмуляторах 4.4 и 5.0 при добавлении APK не отображается значок Play Store, а adb rebootпросто висит.
Nate

85

Для будущих посетителей.

На данный момент платформа Android 4.2.2 включает в себя сервисы Google Play. Просто используйте эмулятор под управлением Jelly Bean. Подробности можно найти здесь:

Установить Google Play Services SDK

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

Другой вариант - использовать Genymotion (работает намного быстрее)

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

Как заметил @ gdw2: «установка SDK Google Play Services не устанавливает работающее приложение Google Play - оно просто включает определенные услуги, предоставляемые SDK»

После версии 2.0 Genymotion не поставляется с Play Services по умолчанию, но его можно легко установить вручную. Просто скачайте нужную версию отсюда и перетащите ее на виртуальное устройство (emulador).


1
@ Quinestor да, это так
Androiderson

6
Святая мать! Genymotion это сладкий!
Росс Хамбрик

6
@ Exception-al Я думаю, вам следует обновить свой ответ, чтобы уточнить, что установка SDK Google Play Services не устанавливает работающее приложение Google Play - оно просто включает определенные службы, предоставляемые SDK.
gdw2

1
+1 за предложение Genymotion !!! Я не знал, что это существует, и теперь я не могу жить без этого. Он прекрасно работает с Android Studio (просто добавьте плагин), и теперь я могу дебютировать с приложениями Google Maps V2, не прибегая к «настоящим» устройствам! Бесконечно благодарен!
Loudenvier

1
@SeanChamp хорошая мысль, но финальные тесты всегда должны проводиться на реальном устройстве
Androiderson

27

Я делаю это более постоянно - вместо того, чтобы устанавливать APK каждый раз adb, постоянно добавляйте их в образ системы, который использует эмулятор. Вам понадобится Yaffey в Windows или аналогичная утилита в других системах для изменения изображений YAFFS2. Скопируйте GoogleLoginService.apk, GoogleServicesFramework.apkи Phonesky.apk(или Vending.apkв более старых версиях Android) в /system/appпапку system.imgфайла эмулятора. После этого я могу запустить эмулятор нормально, не шутя с adb, и Play Store всегда рядом.

Получение приложения Google Play с вашего устройства

Загрузка Служб Google с какого-либо Интернет-сайта может быть нелегальной, но если у вас есть телефон или планшет с соответствующей версией Android, просто извлеките их из устройства:

adb -d root
adb -d pull /system/app/GoogleLoginService.apk
adb -d pull /system/app/GoogleServicesFramework.apk
adb -d pull /system/app/Phonesky.apk

У вас должен быть доступ на уровне root (запустить adb root) к устройству, чтобы извлечь эти файлы из него.

Добавление его к изображению

Теперь запустите yaffeyWindows или аналогичную утилиту для Linux или Mac и откройте system.imgдля образа эмулятора, который вы хотите изменить. Я изменяю чаще всего один в [...]\android-sdk\system-images\android-17\x86.

Переименуйте оригинал system.imgв system-original.img. Под yaffey скопируйте APK-файлы, которые вы вытащили с вашего устройства, в папку / app. Сохраните ваше измененное изображение как system.imgв исходной папке. Затем запустите свой эмулятор (в моем случае это будет эмулятор Android 4.2 с процессором Intel Atom, работающим под управлением Intel HAX, суперскоростной на компьютерах с Windows), и вы получите там Play Store. Я не нашел необходимости удалять SdkSetup.apkи SdkSetup.odex- Play Store и другие сервисы все еще работают нормально для меня с этими файлами.

Закончив тестирование, вы можете удалить измененное system.imgи восстановить оригинал , чтобы облегчить вашу совесть, связанную с временным пиратством Служб Google на вашем устройстве system-original.img.


5
Кажется, что нет работающего редактора YAFF2 для Linux, но, к счастью, оказывается, что с изменением в одну строку Yaffey сам компилируется и работает в Linux. Опубликовал шаги, которые я использовал для этого вопроса Ask Ubuntu.
Механическая улитка

+1 - это слишком мало для счастья в момент аха. У StackOverflow должна быть кнопка поцелуй, потому что ты так счастлив :)
Абхишек Сусарла

Мне удалось вытащить три APK из телефона Android 4.1.2 без рута, но я все еще работаю над их установкой где-то еще.
Бон

Любая альтернатива Яффе для Mac?
Олкай Эрташ

1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Сборка Yaffey.app, отлично работает на моем Yosemite.
Сяо

4
  1. Загрузите пакет gapps с http://goo.im/gapps
  2. извлечь GoogleLoginService.apk, GoogleServicesFramework.apk и Vending.apk Перейти к типу окна cmd adb shell
    1. на тип оболочки mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. затем нажмите Ctrl + c для выхода. перейдите в каталог, где был извлечен apks,
    3. тип adb push <appname>.apk /system/app
    4. затем введите adb reboot

Где мне нужно разместить файл .apk. В моем проекте или в инструментах платформы adt bundle?
Стив

скопируйте его на платформу инструментов, если вы не установили переменную среды PATH
insomniac

1
Доступ запрещен.
Саньям Джайн

@SanyamJain Вы решили эту проблему? Я получаю то же сообщение, смонтировать: «Отказано в доступе»
Joshua Son

@JoshuaSon: Нет, я не мог. И после прочтения из разных источников я пришел к выводу, что это может не стоить усилий, так как эмулятор продолжает падать, или эта стратегия не работает для будущих версий Android. Поправь меня, если я ошибаюсь :)
Саньям Джайн

2

Вы можете загрузить его с телефона Android 4.0, а затем смонтировать образ системы rwи скопировать его.

Не пробовал раньше, но это должно работать.


Нет, почтовый индекс с GAPPS слишком большой.
Игорь Ганапольский

2

Это просто для меня, я скачал файл apk на свой компьютер и перетащил этот файл в эмулятор, установил google play для меня, надеюсь, это поможет кому-нибудь


0

Playstore + сервисы Google Play в Linux (Ubuntu 14.04)


Загрузить приложения Google (GoogleLoginService.apk, GoogleServicesFramework.apk)

отсюда http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

и загрузите (Phonesky.apk) отсюда https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

ПЕРЕЙТИ НА РАЗМЕЩЕНИЕ ANDROID SDK >>

CD-инструменты Android SDK Расположение-

ЗАПУСТИТЬ ЭМУЛЯТОР >>

Android / Sdk / tools $ ./emulator64-x86 -avd Kitkat -размер 566 -no-audio -no-boot-anim

УСТАНОВИТЬ РАЗРЕШЕНИЯ >>

cd Android / Sdk / platform-tools platform-tools $ крепление оболочки adb -o перемонтирование, rw -t yaffs2 / dev / block / mtdblock0 / system

инструменты платформы $ adb shell chmod 777 / system / app

инструменты платформы $ adb push /home/nazmul/Downloads/GoogleLoginService.apk / system / app /.

PUSH PLAY APKS >>

инструменты платформы $ adb push /home/nazmul/Downloads/GoogleServicesFramework.apk / system / app /. инструменты платформы $ adb push /home/nazmul/Downloads/Phonesky.apk / system / app /. инструменты платформы $ adb shell rm / system / app / SdkSetup *


В системе недостаточно места для установки GAPPS.
Игорь Ганапольский

-1

Вы когда-нибудь пробовали Genymotion? Я читал об этом на прошлой неделе, и это здорово. У них есть несколько образов Android, которые вы запускаете (со своим собственным программным обеспечением). Изображения невероятно быстрые, на них установлен Google Play. Проверьте это, если это то, что вам нужно.

http://www.genymotion.com/


genymotion не предоставляет виртуальным машинам с уровнем API ниже 16
martyglaubitz

В качестве комментария о Genymotion, советуем произвольному читателю: Genymotion использует платформу VirtualBox Virtualization. VIrtualBox предназначен для эмуляции платформ микроконтроллеров Intel. Из-за этого ограничения может быть невозможно эмулировать платформы микроконтроллеров ARM с Genymotion. Это, конечно, может служить для постановки ортогонального вопроса о том, когда, когда и почему может потребоваться бета-тестирование приложения с использованием кроссплатформенного SDK, на каждом возможном эмуляторе микроконтроллера или микроконтроллера. Ограничение Intel-virt не может быть проблемой, не во всех приложениях?
Шон Чамп
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.