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日 更新。
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 ストアのアイコンがアプリ ドロワー内に表示されるようになります。