2

在过去的几天里,我一直在试图让Android Wear app在android棉花糖(API 23)模拟器上工作。我想这样做的原因是,我可以将我的android(手机)模拟器与我的android Wear模拟器配对,以便在jenkins上运行自动葫芦烟雾测试。我知道这是可能的(或者至少以前是可能的),正如我发现的那样(kennethmascarenhas.wordpress.com/2014/08/19/developing-for-android-wear-with-emulators/),它概述了配对两个模拟器在一起。如何将Android Wear应用程序安装到android marshmallow avd仿真器上?

什么我迄今为止尝试:


(1)安装Android Wear应用到棉花糖模拟器运行谷歌的API

模拟器配置:

  • 设备:Nexus 5
  • 目标:Android 6。 0 - API等级23
  • CPU/ABI:谷歌API的英特尔凌动(86)
  • 仿真器选项:使用主机GPU

启动模拟器:

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

安装Android Wear应用(从这里下载:www.apkmirror.com/apk/google-inc/android-wear/android-wear-1-5-0-2714488-gms-release/android-wear-1-5-0-2714488-gms -android-apk-download /):

adb -s emulator-5554 install <path_to_downloaded_wear_apk> 

然而,打开穿戴应用程序会产生一个对话框,指出:“在Play商店中更新您的Google应用程序。然后重新打开Android穿。”

这是我去了兔子洞试图让谷歌Play的安装-_-

有趣的是,如果您运行模拟器‘谷歌的API’,下面的谷歌游戏应用已经捆绑:

  • 谷歌播放服务 - 封装:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk=com.google.android.gms =的versionName 89年8月4日(2428711-470)
  • Google帐户管理器 - 软件包:/system/priv-app/GoogleLoginService/GoogleLoginService.a PK = com.google.android.gsf.login =的versionName 6.0-2780065
  • 谷歌服务框架 - 包:/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk=com.google.android.gsf =的versionName 6.0 -2780065
  • Google Play Store - 软件包:/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/),它可以安装谷歌播放商店(和一切随之而来),或者至少是API 21。

重新挂载模拟器设备分区读写:

adb remount 

然而,当我尝试“推”的APK至模拟器,如:

adb push PrebuiltGmsCore.apk /system/priv-app 

我得到这样一个错误:

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

在这一点上,我决定尝试别的。


(2)安装谷歌Play商店棉花糖模拟器不运行谷歌的API

模拟器配置:

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

但是,同样,当试图将apks“推送”到设备上时,我得到与以前一样的“只读文件系统”错误。

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

adb install <path_to_apk> 

其中一期工程,但出现在应用程序与权限错误,安装到错误的目录。因此,当我打开Goog​​le Play商店应用程序时,我收到了一百万个错误消息,称谷歌播放服务,框架和商店已经崩溃(logcat对每个应用程序说“您需要MANAGE_USERS权限”)。


(3)我试过

而不是运行 '亚行重新装入' 其他的事情,我也尝试:

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

,但我得到了同样的“读 - 只有文件系统'的错误,当试图'推'apks。

我也试过了你的沼气标准'chmod'或者/ system/priv-app /,但是我又得到'只读文件系统'错误。

哦,还有,在你问之前,是的,我正在运行'adb root'。


有没有人有我想要完成什么运气?请帮忙。

P.S.抱歉没有正确的链接。我还没有足够的积分呢...

回答

6

好的,我设法弄清楚了自己 - 无需安装Google Play商店应用程序。我尝试安装较旧版本的Android Wear应用程序(从这里下载http://www.apkmirror.com/?s=android+wear&post_type=app_release&searchtype=apk),直到我可以启动应用程序而没有让对话框提示我“更新您的Google应用程序” Play商店,然后再次打开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-android-apk-download /)

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

有一次,我都模拟器运行起来,我跑:

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

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

然后,我推出了Android Wear应用,并选择了“模拟器'从左上角的选项微调,和Huzzah!

+0

同样的问题在这里。试图通过虚拟Android Wear Watch Android 5.1(API Level 22)将虚拟Galaxy Nexus与Android 6.0(Google API 23)连接起来,但没有运气。我需要在虚拟手持设备上安装Android Wear 1.4.0.2470307.gms,并断开/重新连接Android Wear配套应用几次才能使其工作。现在,虚拟手机确实连接到智能手表,但两者之间的应用程序通信却没有,而同样的应用程序在API Level <23的虚拟手持设备上进行测试。我使用建议的“GoogleApiClient”方式,手表上的onDataChanged()永远不会引发... – GiveEmTheBoot

相关问题