Google PlayストアをJelly Bean(API 16)を使用して仮想デバイスに配置します

インターネットを介して流通する市場をインストールする方法、つまりどこかから何かをダウンロードしたり、スクリプトを実行したりする方法にいつも戸惑っていました。 すべてをはるかに簡単かつ安全に行うことができます。



説明した方法がAPI 15で機能しないこと、およびアプリケーションマーケットがインストールされているにもかかわらずそこにダウンロードしないことをすぐに警告します。



まず、手順の簡単な説明:







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
      
      







ここで、デバイスを破って通常の方法で開始します。







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



All Articles