如何在Android marshmallow avd模拟器上安装Android Wear app?

时间:2016-05-05 04:28:36

标签: android-emulator google-play wear-os android-6.0-marshmallow avd

在过去的几天里,我一直在努力让Android服装应用程序在android marshmallow(API 23)模拟器上工作。我之所以这样做,是因为我可以将我的android(手机)模拟器与我的机器人模拟器配对,以便在jenkins上运行自动葫芦烟雾测试。我知道这是可能的(或至少以前已经可能),正如我发现的那样(kennethmascarenhas.wordpress.com/2014/08/19/developing-for-android-wear-with-emulators/),其中概述了配对两个模拟器在一起。

到目前为止我尝试过的事情:

(1)在运行Google API的marshmallow模拟器上安装Android Wear应用程序

模拟器配置:

  • 设备:Nexus 5
  • 目标:Android 6.0 - API Level 23
  • CPU / ABI:Google API Intel Atom(x86)
  • 仿真器选项:使用主机GPU

启动模拟器:

emulator -avd <my_avd> -writable-system -no-boot-anim

安装android wear app(从这里下载:www.apkmirror.com/apk/google-inc/android-wear/android-wear-1-5-0-2714488-gms-release/android-wear-1 -5-0-2714488-GMS-机器人-APK-下载/):

adb -s emulator-5554 install <path_to_downloaded_wear_apk>

然后打开磨损应用程序,会生成一个对话框,说明:&#34;在Play商店中更新您的Google应用。然后再次打开Android Wear。&#34;

这是我试图安装Google Play的兔子洞的地方-_-

有趣的是,如果您使用&#34; Google API&#34;运行模拟器,则已捆绑以下Google Play应用:

  • Google Play服务 - 包:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk=com.google.android.gms versionName = 8.4.89(2428711-470)
  • Google客户经理 - 套餐:/system/priv-app/GoogleLoginService/GoogleLoginService.apk=com.google.android.gsf.login =的versionName 6.0-2780065
  • Google Services Framework - package:/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk=com.google.android.gsf =的versionName 6.0-2780065
  • Google Play商店 - 套餐:/system/app/LicenseChecker/LicenseChecker.apk=com.android.vending versionName = 1.8(不要认为这实际上是因为我无法在应用列表中看到应用)

根据这篇博文(www.flinkd.org/2015/02/installing-google-play-on-the-android-emulator-api-21-lollipop/),可以安装google play store(以及随之而来的一切),或者至少是在API 21上。

将模拟器设备分区重新安装为读写:

adb remount

然而,当我试图推动&#39;模拟器的apks,例如:

adb push PrebuiltGmsCore.apk /system/priv-app

我收到如下错误:

failed to copy 'PrebuiltGmsCore.apk' to '/system/priv-app/PrebuiltGmsCore.apk': Read-only file system

此时,我决定尝试别的东西。

(2)在未运行Google API的marshmallow模拟器上安装google play商店

模拟器配置:

  • 设备:Nexus 5
  • 目标:Android 6.0 - API Level 23
  • CPU / ABI:Intel Atom(x86)
  • 仿真器选项:使用主机GPU

但同样,我得到了相同的只读文件系统&#39;尝试“推送”时出现错误。将apks放到设备上。

我甚至试图像往常一样安装它们,例如:

adb install <path_to_apk>

哪个有效,但似乎使用错误的权限将应用安装到错误的目录中。所以当我打开谷歌Play商店应用程序时,我得到一百万个错误,说谷歌游戏服务,框架和商店已经崩溃(logcat说&#34;你需要MANAGE_USERS权限&#34;对于每个应用程序)。

(3)我尝试过的其他事情

我没有尝试运行&#39; adb remount&#39;,而是尝试了:

adb shell
su
mount -o rw,remount /system/priv-app/

但是我得到了相同的只读文件系统&#39;错误,当试图推动&#39; apks。

我也尝试过你的沼泽标准&#39; chmod&#39;或/ system / priv-app /,但同样,我得到了'只读文件系统&#39;错误。

哦,而且,在你问之前,是的,我正在运行&#39; adb root&#39;。

有没有人对我想要完成的事情有任何好运?请帮忙。

P.S。抱歉没有正确的链接。我还没有足够的堆栈信誉......

1 个答案:

答案 0 :(得分:6)

好的,我自己弄明白了 - 无需安装Google Play商店应用。

使用marshmallow模拟器(使用Google API),我尝试安装旧版Android安装应用程序(从此处下载http://www.apkmirror.com/?s=android+wear&post_type=app_release&searchtype=apk),直到我可以启动应用程序而不会让对话框提示我“更新你的Play商店中的Google应用。然后再次打开Android Wear。“。

对我有用的最新版本是:

Android Wear 1.4.0.2470307.gms(www.apkmirror.com/apk/google-inc/android-wear/android-wear-1-4-0-2470307-gms-release/android-wear-1-4 -0-2470307-GMS-机器人-APK-下载/)

事后看来,我可能应该首先尝试这种方法!

一旦我启动并运行了两个模拟器,我就跑了:

adb -s <phone_emulator_name> forward tcp:5601 tcp:5601

看起来5601是专用的可穿戴设备端口(请参阅http://developer.android.com/training/wearables/apps/creating.html

然后我启动了android Wear应用程序,并从左上角的选项微调器和Huzzah中选择了“Emulator”!