説明した方法がAPI 15で機能しないこと、およびアプリケーションマーケットがインストールされているにもかかわらずそこにダウンロードしないことをすぐに警告します。
まず、手順の簡単な説明:
- Google APIイメージに基づいて仮想デバイスを作成します。
- デバイスエミュレーターをシャーマニックな方法で起動します。
- 「余分な」パッケージを削除します。
- 既存の電話からUSBケーブルを介して市場にパッケージを入手します。
- マーケットにパッケージをアップロードします。
- 最後のシャーマニズム。
Linuxではすべてが発生しますが、他のOSではすべてがまったく同じです。
まず、SDKツールとプラットフォームツールを最新バージョンに更新して、API 16の画像が利用可能なプラットフォームのリストに表示されるようにする必要があります。
Google APIに基づいて仮想デバイスを作成します
[ ターゲット]フィールドで、[ Google API(Google Inc.)-API Level 16]を選択します。 [ ハードウェア]セクションで、必要な要素を入力します。

Google APIを使用する理由 そして、すべてがシンプルです-この画像には、Playストアに必要なパッケージ(Googleサービスフレームワークなど)が既にあり、どこかで探してシャーマニスティックな方法でインストールする必要はありません。
シャーマニスティックな方法でデバイスエミュレーターを起動する
結果のイメージを開始します(シャーマニズムはすでにここから始まります。以降、SDKは
~/android/android-sdk-linux
ディレクトリにインストールされていると想定しています。仮想マシンは
test-4.1
と呼ばれ
test-4.1
)
% ~/android/android-sdk-linux/tools/emulator -avd test-4.1 -partition-size 250 -no-snapstorage
このコマンドは、システムパーティションのサイズを250 MBに増やす仮想デバイスを起動します。これを行わないと、パーティションに空きスペースがなくなります。
次に、記録のためにシステムパーティションを再マウントし、同時に再マウントされていることを確認します。
% ~/android/android-sdk-linux/platform-tools/adb -e remount remount succeeded % adb -e shell mount|grep /system /dev/block/mtdblock0 /system yaffs2 rw 0 0
リクエストがエミュレートされたデバイスに直接送信されるように、adbを呼び出すときは常に
-e
引数を使用します。
「余分な」パッケージを削除します
デフォルトでは、通常の操作を妨害する有害なパッケージが仮想デバイス上にいくつかあります。この場合、
LicenseChecker.apk
および
SdkSetup.apk
はそれらを削除します。
% adb -e shell rm /system/app/SdkSetup.apk /system/app/LicenseChecker.apk
既存の電話からUSBケーブルを介して市場にパッケージを取得します
今、あなたは市場でパッケージを取得する必要があります。これのために、この市場がインストールされているすべてのアンドロイドフォンが行います。 電話機でUSBデバッグをオンにし、ケーブルを使用して電話機をコンピュータに接続し、シャーマニズムを開始します。 まず、市場のあるパッケージの場所を見つける必要があります。それは簡単です。
% adb -d shell pm list packages -f | grep vending package:/data/app/com.android.vending-1.apk=com.android.vending
ここでは、
/data/app/com.android.vending-1.apk
:
/data/app/com.android.vending-1.apk
です。 これを現在のディレクトリに送り込みます(エミュレータではなく、実際のデバイスを示すために-dスイッチが使用されます。便利なため、呼び出しごとにidデバイスを指定する必要はありません)。
% adb -d pull /data/app/com.android.vending-1.apk . 7563 KB/s (4000309 bytes in 0.516s)
このメソッドは、ルート化された電話でさえも、どの電話でも動作するはずです。 そして、はい、この方法で電話からパケットを抽出できます。
マーケットでパッケージをダウンロードする
電話でapkパッケージをダウンロードします。
% adb -e push com.android.vending-1.apk /system/app 3353 KB/s (4000309 bytes in 1.164s)
最後のシャーマニズム
仮想デバイス上のパッケージがアップロードされます。次回起動時にクラッシュしないようにするために、この時点で残ります。 これも簡単です。エミュレータは、起動するたびに一時ファイルを含むディレクトリにシステムパーティションのコピーを作成します。
% ls -l /tmp/android-$USER total 191072 -rw------- 1 cancel cancel 195680988 28 12:35 emulator-dHRHv0 srwxr-xr-x 1 cancel cancel 0 28 12:21 qemu-gles-22468
これは、ファイル
emulator-dHRHv0
(異なる呼び出し方ですが、同じディレクトリにあります)で、
system.img
という名前の仮想デバイスディレクトリにコピーするだけです:
% cp /tmp/android-$USER/emulator-dHRHv0 ~/.android/avd/test-4.1.avd/system.img
ここで、デバイスを破って通常の方法で開始します。

右上のマーケットアイコン。 お楽しみください。