Google Play on Android 4.0 エミュレータ

Google Play .apkをAndroid 4.0のエミュレータにインストールするにはどうすればいいですか?

Googleアプリ(GoogleLoginService.apk , GoogleServicesFramework.apk , Phonesky.apk)
こちらからダウンロードしてください。

エミュレータを起動します。

emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim

その後、以下のコマンドを使用します。

# Remount in rw mode.
# NOTE: more recent system.img files are ext4, not yaffs2
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

# Allow writing to app directory on system partition
adb shell chmod 777 /system/app

# Install following 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*
解説 (20)

APKをadbで毎回インストールする代わりに、エミュレータが使用するシステムイメージに恒久的に追加するのです。YAFFS2イメージを修正するには、WindowsではYaffey、その他のシステムでは同様のユーティリティーが必要です。GoogleLoginService.apk,GoogleServicesFramework.apk,Phonesky.apk(Androidの古いバージョンではVending.apk) を、エミュレータのsystem.imgファイルの/system/app` フォルダにコピーします。その後、adbを操作せずに普通にエミュレータを起動すると、Playストアが常に存在しています。

端末からGoogle Playアプリを取得する

インターネットのサイトからGoogleアプリをダウンロードすることは、厳密には合法ではないかもしれませんが、対応するAndroidバージョンの携帯電話やタブレットを持っていれば、端末からそれらを引き出すだけです。

adb -d root
adb -d pull /system/app/GoogleLoginService.apk
adb -d pull /system/app/GoogleServicesFramework.apk
adb -d pull /system/app/Phonesky.apk

これらのファイルを端末から取り出すには、端末に root レベルのアクセス (adb root を実行)する必要があります。

イメージへの追加

Windows の場合は yaffey を、Linux や Mac の場合は同様のユーティリティーを起動し、修正したいエミュレータイメージの system.img を開きます。私がよく修正するのは、[...]̫⃝system-images\android-17\x86`にあるものです。

オリジナルの system.img の名前を system-original.img に変えます。yaffeyで、端末から取り出したAPKファイルを/appフォルダにコピーします。修正したイメージを元のフォルダにsystem.imgとして保存します。その後、エミュレータ(私の場合は、Intel HAXで動作するIntel Atomプロセッサ搭載のAndroid 4.2エミュレータで、Windowsマシンでは超高速)を起動すると、Play Storeが表示されます。私はSdkSetup.apkSdkSetup.odexを削除する必要はないと思いました。これらのファイルがあっても、Play Storeやその他のサービスは問題なく動作します。

テストが終わったら、Google Apps を一時的に端末から違法コピーしたという良心の呵責を和らげるために、修正した system.img を削除し、system-original.img から元の状態に戻すことができます。

解説 (6)

Android 4.0の携帯電話からダウンロードして、システムイメージを rw にマウントしてコピーすることができます。

まだ試していませんが、うまくいくはずです。

解説 (1)