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

相關問題