在 Android 模拟器中安装 Google Play 商店

在 Android 模拟器中安装 Google Play 商店

我正在尝试在 AVD 模拟器中安装 Play Store。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$  

好的。已安装名为“package name”的软件包com.android.vending,但该软件包肯定不是 Play store

那是什么?我也发现了!

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

并且这个包根本无法删除/卸载!

我尝试用 Play 商店应用覆盖它 来自 Open Gapps 和 Apkpure

每次尝试都失败了。我曾经得到过图标,但它总是崩溃。

如何在 Google APIS 内置的 AVD 模拟器中安装 Play 商店应用

我需要使用它来代替 Play Store 版本

答案1

Google Play Store 已正式预装在 Android 模拟器中多年。虽然有些模拟器很难安装,但对于 API 24 及以上版本,只需从 AVD 管理器中选择已安装 Google Play 的模拟器即可轻松安装。

在 Android Studio AVD 管理器中,选择旁边带有 Google Play 商店图标的虚拟设备配置,然后选择带有“Google Play”标签的系统映像之一。请参阅此发行说明:https://androidstudio.googleblog.com/2017/04/android-studio-24-preview-4-is-now.html

支持 Google Play 商店的 Android Studio AVD 管理器


文章中介绍了在未预装 Play Store 的模拟器中安装 Play Store 的过程 在 Android 模拟器中安装 Google Play Store

以下是该文章的摘要:

  • 从以下位置下载 Google Play 软件包 开放 GApps 项目

    在此处输入图片描述

  • 解压缩文件并从核心文件夹中提取突出显示的内容:

    在此处输入图片描述

  • 要解压这些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 Store 图标现在应该位于应用程序抽屉中。

相关内容