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 스토어 빌드 대신 사용해야 합니다.
답변1
Google Play 스토어는 수년 동안 공식적으로 Android 에뮬레이터에 사전 설치되었습니다. 일부 에뮬레이터에서는 설치하기 어렵지만 API 24 이상에서는 이미 Google Play가 있는 에뮬레이터를 AVD 관리자에서 선택하기만 하면 쉽게 설치할 수 있습니다.
Android Studio AVD Manager에서 옆에 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
vending-x86
위 이미지에서는 Google 서비스와 관련된 APK가 이미 설치되어 있으므로 이름이 있는 폴더 에서 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 스토어 아이콘이 앱 서랍에 표시됩니다.