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


184

Як я можу встановити .apk Google Play на мій емулятор 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
Каталін Моросан

9
URL-адреса порушена :(
TheDude

16
важливий параметр розміру розділу , без нього я отримав виняток OutOfMemory під час натискання на apks
Майк

12
Я думаю, що ця відповідь має бути прийнятою відповіддю. Зрештою, це СУЧАСНА відповідь, поточна прийнята відповідь (11.11.2013) - це лише "зламати еулу - це як погана справа, м'кей?" тип коментаря.
chris-l

4
Я єдиний, хто не в змозі змусити це працювати? На емуляторах 4.4 та 5.0 додавання APK не відображає піктограму Play Store, а adb rebootпросто висить.
Нейт

85

Для майбутніх відвідувачів.

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

Налаштування SDK служб Google Play

Редагувати:

Ще один варіант - використовувати Genymotion (працює швидше)

EDIT 2:

Як @ gdw2 прокоментував: "налаштування пакета SDK служб Google Play не встановлює робочий додаток Google Play - він просто дозволяє певні послуги, що надаються SDK"

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


1
@quinestor так це
Androiderson

6
Свята мати! Генімоція солодка!
Росс Гамбрік

6
@ Виняток - я думаю, ви повинні оновити свою відповідь, щоб уточнити, що налаштування пакета SDK служб Google Play не встановлює працюючу програму Google Play - вона просто дозволяє певні послуги, що надаються SDK.
gdw2

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

1
@SeanChamp хороший момент, але остаточні тести завжди повинні бути на справжньому пристрої
Androiderson

27

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

Отримання програми Google Play зі свого пристрою

Завантаження Google Apps з якогось веб-сайту може бути не зовсім законним, але якщо у вас є телефон або планшет із відповідною версією 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

Ви повинні мати доступ до кореневого рівня (запустити корінь adb) до пристрою, щоб витягнути з нього ці файли.

Додавання його до зображення

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

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

Закінчивши тестування, ви можете видалити модифіковані system.imgта відновити оригінал із свого сумління, винного в тимчасовому піратстві Google Apps зі свого пристрою system-original.img.


5
Здається, не працює робочий редактор YAFF2 для Linux, але, на щастя, виявляється, що при зміні одно рядків Yaffey сам компілює і працює на Linux. Опублікував кроки, які я використав у цьому питанні Задати Ubuntu.
Механічний равлик

+ 1 - це занадто менше для щастя на даний момент. У StackOverflow має бути кнопка поцілунок, оскільки ур-так-щасливий :)
Abhishek Susarla

Мені вдалося витягнути три APK з телефону Android 4.1.2 без кореня, але я все ще працюю над тим, щоб встановити їх десь в іншому місці.
бон

Якась альтернатива для Mac?
Olcay Ertaş

1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Створює Yaffey.app, прекрасно працює на моєму Yosemite.
Сяо

4
  1. Завантажте пакет пропусків з 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, щоб вийти. cd до каталогу, з якого було вилучено apks,
    3. тип adb push <appname>.apk /system/app
    4. потім введіть adb reboot

Де мені потрібно розмістити файл .apk. У моєму проекті чи інструменті платформи adt bundle?
Стів

скопіюйте його на платформу-інструменти, якщо ви не встановили свою змінну середовища PATH
безсоння

1
Дозвіл відхилено.
Саням Джайн

@SanyamJain Ви вирішили цю проблему? Я отримую те саме повідомлення, вершина: Дозвіл відхилено
Джошуа син

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

2

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

Didnt не пробував це раніше, але це повинно працювати.


Ні, блискавка з GAPPS занадто велика.
ІгорГанапольський

2

Для мене це просто, я завантажив файл apk на комп’ютер і перетягніть цей файл на емулятор, він встановить для мене програвання google для мене. Сподіваюся, що це допоможе комусь


0

Playstore + Google Play Services у 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 Location -

ДАВАТИ ЕМУЛЯТОР >>

Android / Sdk / інструменти $ ./emulator64-x86 -avd Kitkat -розмір розділу 566 -no-audio -no-boot-anim

ВСТАНОВИТИ ДОГОВОРИ >>

cd Android / Sdk / platform-tools платформа-інструменти $ adb shell shell -o remount, rw -t yaffs2 / dev / block / mtdblock0 / system

платформа-інструменти $ adb shell chmod 777 / система / додаток

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

PUSH PLAY APKS >>

platform-tools $ 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
мартиглаубітз

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