Android エミュレータに Google Play ストアをインストールする

Android エミュレータに Google Play ストアをインストールする

AVD エミュレーターに Play ストアをインストールしようとしています。Google APIS build何度も失敗します。そこで解決策を探し始めましたが、どれもうまくいきませんでした。

理由は?ここにあります

android@Debian-101-buster-64-minimal:~/Downloads$ adb install 'Google Play Store_v17.1.16-all [0] [PR] 274697545_apkpure.com.apk'
adb: failed to install Google Play Store_v17.1.16-all [0] [PR] 274697545_apkpure.com.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.android.vending signatures do not match the previously installed version; ignoring!]
android@Debian-101-buster-64-minimal:~/Downloads$  

わかりました。パッケージ名でパッケージが既にインストールされていますcom.android.vendingが、これは間違いなくPlayストアではありません

じゃあ何なの?それも見つけたよ!

android@Debian-101-buster-64-minimal:~$ adb shell pm path com.android.vending
package:/system/app/LicenseChecker/LicenseChecker.apk

dumpsysの出力

    android@Debian-101-buster-64-minimal:~$ adb shell dumpsys package com.android.vending
Service Resolver Table:
  Non-Data Actions:
      com.android.vending.licensing.ILicensingService:
        dbab1b8 com.android.vending/.licensing.LicensingService filter 2371e08
          Action: "com.android.vending.licensing.ILicensingService"
          AutoVerify=false

Permissions:
  Permission [com.android.vending.CHECK_LICENSE] (6f3eb91):
    sourcePackage=com.android.vending
    uid=10055 gids=null type=0 prot=normal
    perm=Permission{ac7aaf6 com.android.vending.CHECK_LICENSE}
    packageSetting=PackageSetting{d5eeef7 com.android.vending/10055}

Key Set Manager:
  [com.android.vending]
      Signing KeySets: 4

Packages:
  Package [com.android.vending] (d5eeef7):
    userId=10055
    pkg=Package{8453164 com.android.vending}
    codePath=/system/app/LicenseChecker
    resourcePath=/system/app/LicenseChecker
    legacyNativeLibraryDir=/system/app/LicenseChecker/lib
    primaryCpuAbi=null
    secondaryCpuAbi=null
    versionCode=1801 minSdk=25 targetSdk=25
    versionName=1.8
    splits=[base]
    apkSigningVersion=2
    applicationInfo=ApplicationInfo{1daafcd com.android.vending}
    flags=[ SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
    privateFlags=[ RESIZEABLE_ACTIVITIES ]
    dataDir=/data/user/0/com.android.vending
    supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
    timeStamp=2019-04-12 22:25:12
    firstInstallTime=2019-04-12 22:25:12
    lastUpdateTime=2019-04-12 22:25:12
    signatures=PackageSignatures{13b8082 [ef3d224c]}
    installPermissionsFixed=false installStatus=1
    pkgFlags=[ SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]
    declared permissions:
      com.android.vending.CHECK_LICENSE: prot=normal, INSTALLED
    requested permissions:
      android.permission.INTERNET
      android.permission.USE_CREDENTIALS
      com.google.android.googleapps.permission.GOOGLE_AUTH
      com.google.android.googleapps.permission.GOOGLE_AUTH.android
      com.google.android.providers.gsf.permission.READ_GSERVICES
    install permissions:
      android.permission.USE_CREDENTIALS: granted=true
      com.google.android.providers.gsf.permission.READ_GSERVICES: granted=true
      com.google.android.googleapps.permission.GOOGLE_AUTH: granted=true
      android.permission.INTERNET: granted=true
      com.google.android.googleapps.permission.GOOGLE_AUTH.android: granted=true
    User 0: ceDataInode=114773 installed=true hidden=false suspended=false stopped=false notLaunched=false enabled=1
      gids=[3003]
      runtime permissions:


Dexopt state:
  [com.android.vending]
    Instruction Set: x86
      path: /system/app/LicenseChecker/LicenseChecker.apk
      status: /system/app/LicenseChecker/oat/x86/LicenseChecker.odex [compilation_filter=speed, status=kOatUpToDate]


Compiler stats:
  [com.android.vending]
    (No recorded stats)
android@Debian-101-buster-64-minimal:~$ 

そして、このパッケージは削除/アンインストールが不可能です。

私はこれをプレイストアアプリで上書きしようとしました Open GappsとApkpureから

すべての試みは失敗しました。アイコンは一度取得しましたが、クラッシュし続けます。

AVD エミュレータの Google APIS ビルドに Play ストア アプリをインストールするにはどうすればいいですか

Playストアビルドの代わりにこれを使用する必要があります

答え1

Google Play ストアは数年前から Android エミュレータに正式にプリインストールされています。一部のエミュレータではインストールが難しいですが、API 24 以上では AVD マネージャーから Google Play がすでにインストールされているエミュレータを選択するだけで簡単にインストールできます。

Android Studio AVD マネージャーで、Google Play ストアのアイコンが横にある仮想デバイス構成を選択し、「Google Play」というラベルの付いたシステム イメージの 1 つを選択します。このリリース ノートを参照してください。2017年4月24日 更新

Google Play ストアをサポートする Android Studio AVD マネージャー


PlayストアがプリインストールされていないエミュレータにPlayストアをインストールする手順については、記事で説明されています。 Android エミュレータに Google Play ストアをインストールする

記事の要約は次のとおりです。

  • Google Playパッケージをダウンロードするには、 オープン GApps プロジェクト

    ここに画像の説明を入力してください

  • ファイルを解凍し、Core フォルダーから強調表示された部分を抽出します。

    ここに画像の説明を入力してください

  • tar.lzこれらのファイルを 解凍するにはlzipパッケージをインストールする必要がある場合があり、次のコマンドを使用します。

    tar -xf vending-x86.tar.lz
    

    最終結果は次のようになります。

    ここに画像の説明を入力してください

  • 特権アプリ ディレクトリで不足している APK を確認します。

    adb shell
    ls system/priv-app
    

    ここに画像の説明を入力してください

    上記の画像では、Google サービスに関連する APK はすでにインストールされているため、vending-x86 という名前のフォルダーから APK をインストールするだけで済みますPhonesky.apk

  • Ctrl+でエミュレータを終了しますD

  • この APK をエミュレータにプッシュします:

    $ANDROID_HOME/tools/emulator @avd_name -writable-system
    adb remount
    adb push ~/Phonesky.apk /system/priv-app/
    adb shell stop && adb shell start
    
  • Google Play ストアのアイコンがアプリ ドロワー内に表示されるようになります。

関連情報