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:~$ 

그리고 이 패키지는 제거/제거가 불가능합니다!

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.

Google Play 스토어를 지원하는 Android Studio AVD Manager


사전 설치되지 않은 에뮬레이터에 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 스토어 아이콘이 앱 서랍에 표시됩니다.

관련 정보