最後の数日間、私はandroid marshmallow(API 23)エミュレータで動作するアンドロイドウェアアプリを手に入れようとしていました。私がこれをやりたいのは、アンドロイドウェアのエミュレータとアンドロイド(電話)エミュレータを組み合わせて、ジェンキンで実行される自動化されたカラバッシュの煙のテストができるようにすることです。私はこれが可能であることを知っています(少なくとも以前は可能でした)。これは私が見つけた(kennethmascarenhas.wordpress.com/2014/08/19/developing-for-android-wear-with-emulators/)。 2つのエミュレータAndroid wear appをandroid marshmallow avd emulatorにインストールするには?
- デバイス:
(1)のGoogle APIに
エミュレータの設定を実行しているマシュマロエミュレータ上でAndroid Wearアプリをインストールします。私はこれまで試したどのような
:Nexus 5
- 対象:Android 6。 0 - APIレベル23
- CPU/ABI:Google APIのインテルAtom(x86の)
- エミュレータオプション:使用ホスト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 Wear再び。」私はGoogle Playをインストール取得しようとしているウサギの穴を下ったところ
です-_-興味深いことに
、あなたがエミュレータを実行した場合、 『Google APIの』、次のGoogleプレイアプリケーションはすでにバンドルされています:
- グーグルプレイサービス - パッケージ:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk=com.google.android.gms versionName = 8.4.89(2428711から470) を
- Googleアカウントマネージャー - パッケージ:/system/priv-app/GoogleLoginService/GoogleLoginService.a PK = com.google.android.gsf.login versionName = 6.0から2780065
- Googleのサービスフレームワーク - パッケージ:/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk=com.google.android.gsf versionName = 6.0 -2780065
- Google Playストア - パッケージ:/system/app/LicenseChecker/LicenseChecker.LoveChecker.apk=com.android.vending versionName = 1.8(これはアプリリストにアプリが表示されない)
このブログの投稿(www.flinkd.org/2015/02/installing-google-play-on-the-android-emulator-api-21-lollipop/)によると、 Google Playストア(とすべてそれに伴って)、あるいは少なくともそれは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
この時点で、私は別のものを試してみることにしました。 APIレベル - アンドロイド6.0:
- デバイス::ネクサス5
- ターゲット
(2)
エミュレータの設定Googleは、GoogleのAPIを実行していないマシュマロエミュレータPlayストアをインストールします。 23
- CPU/ABI:Intel Atom(x86)
- エミュレータのオプション:ホストGPUを使用する
また、以前と同じように、デバイスにAPKをプッシュしようとすると「読み取り専用ファイルシステム」エラーが発生します。
私も:例えば、通常どおりにちょうどそれらをインストールした作品
adb install <path_to_apk>
を試してみましたが、間違った権限を持つ間違ったディレクトリにアプリケーションをインストールするように見えます。 Google Playストアアプリを開くと、Google Playサービス、フレームワーク、ストアがクラッシュしたという100万回のエラーが発生します(それぞれのアプリに対して「MANAGE_USERS権限が必要です」というログカット)。
(3)私はむしろ 'ADB再マウント' を実行しているよりも
を試みた他のものは、私も試してみました:
adb shell
su
mount -o rw,remount /system/priv-app/
をしかし、私は同じ「読み取りを取得ファイルシステムのみのエラーです.APMを 'プッシュ'しようとするとエラーになります。 私はあなたのBog標準の 'chmod'や/ system/priv-app /も試しましたが、もう一度、 'Read-only file system'エラーが出ます。
ああ、また質問する前に、私は 'adb root'を実行しています。
誰も私が達成しようとしていることと運があったのですか?助けてください。
P.S.適切なリンクがないのは残念です。まだ十分なスタッククレジットがありません...
ここに同じ問題があります。 Android 6.0(Google API 23)の仮想ギャラクシーネクサスと仮想Android Wear Watch Android 5.1(APIレベル22)を運がないで接続しようとしました。私は仮想ハンドヘルドデバイスにAndroid Wear 1.4.0.2470307.gmsをインストールし、Android Wearコンパニオンアプリを数回切断して再接続する必要がありました。今度は仮想電話機がsmartwatchに接続しますが、2つのアプリケーション通信は同じではなく、APIレベル<23の仮想ハンドヘルドでテストされています。私は、提案された "GoogleApiClient"の方法を使用しており、時計上でonDataChanged()を呼び出すことはありません... – GiveEmTheBoot