我对使用 Android Studio 完全陌生,我正在尝试在模拟器上安装 Google Play 应用程序。我已经从 SDK 管理器安装了 Google Repository
和 Google Play Services
以及 Google APIs x86 Atom System Image
,并且能够为我的示例应用程序设置 Google Play 服务。
我现在想在我的模拟器上安装 Google Play 应用程序。如何才能做到这一点 ?任何建议或解决方案本身将不胜感激。另外,非常感谢您抽出宝贵的时间。
从 Android Studio 3.0 Canary 1 开始,您现在可以选择一些内置 Play 商店应用的设备(下图中的 Nexus 5X 和 Nexus 5)。
https://i.stack.imgur.com/jfHJo.png
经过长时间的测试,一切似乎都已经过时了。我找不到必要的 APK,例如 GoogleLoginService.apk
等。
我通过安装两个虚拟设备让它工作。
我的设备(具有自定义外观和尺寸的三星 Galaxy Tab A) 一种设备,在您的 AVD 管理器中具有“Play Store Available”图标,您可以在其中创建新配置文件。
我安装了具有相同 Android 版本的第一台设备和第二台设备,并使用了三星的一个配置文件(因为我的平板电脑是三星的)。
在这一步之后,我比较了位于以下位置的 config.ini
文件:
C:\Users\USER\.android\avd\DEVICE_ID
在 Ubuntu/Linux 上它会在
~/.android/avd/DEVICE_ID
将以下变量更改为:
PlayStore.enabled = true
image.sysdir.1=system-images\android-27\google_apis_playstore\x86\
tag.display=Google Play
tag.id=google_apis_playstore
这是将更改哪些字段的示例差异:
https://i.stack.imgur.com/Jv3dl.png
之后,您可能需要重新下载设备的系统映像,您可以从工具 > AVD 管理器中执行此操作。
这是一个看起来像的示例屏幕截图:
https://i.stack.imgur.com/VE4xZ.png
完成后,重新启动设备,Play 商店将安装并可以使用。
从 http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2 下载 Google 应用程序(GoogleLoginService.apk、GoogleServicesFramework.apk、Phonesky.apk)
启动你的模拟器:
emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim
然后使用以下命令:
在 rw 模式下重新挂载
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
允许写入系统分区上的应用程序目录
adb shell chmod 777 /system/app
安装以下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*
-writable-system
stackoverflow.com/a/42280124/3003905
在最新的 MM API 映像上,所有这些都不是必需的。
我所需要的只是:
adb remount
adb push Phonesky.apk /system/priv-app/.
adb stop && adb restart
在新版本的 sdk 上,您可以浏览:
C:\Users{$User}\AppData\Local\Android\sdk\tools
从命令行创建 avd:
android 创建 avd --name bphone --package "system-images;android-23;google_apis;x86_64"
会有一个问题要求您自定义配置文件,说是,然后询问是否安装 CH Play,只需输入是。然后,在 Android Studio 中打开 AVD Manager 进行重新配置。注意:记得把 CPU/ABI 改成 x86