我正在嘗試在 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:~$
而且這個軟體包是無法刪除/卸載的!
我嘗試用 Playstore 應用程式覆蓋這個 來自 Open Gapps 和 Apkpure
每一次嘗試都失敗了。我曾經獲得過該圖標,但它會不斷崩潰。
我如何在 AVD 模擬器中建立的 Google APIS 中安裝 Play 商店應用程式
我需要使用它而不是 Play Store 構建
答案1
Google Play 商店幾年前就已正式預先安裝在 Android 模擬器中。雖然在某些模擬器中安裝起來很困難,但只需從 AVD 管理器中選擇一個已經安裝了 Google Play 的模擬器,就可以輕鬆安裝 API 24 及更高版本。
在 Android Studio AVD 管理器中,選擇旁邊有 Google Play 商店圖示的虛擬裝置配置,然後選擇帶有「Google Play」標籤的系統映像之一。請參閱此發行說明:https://androidstudio.googleblog.com/2017/04/android-studio-24-preview-4-is-now.html。
文章中介紹了在未預先安裝的模擬器中安裝 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 商店圖示現在應該位於應用程式抽屜中。