在模拟器中更新Google Play服务


137

我在Google Play上遇到了很多类似的问题,我正在使用Android 4.2.2 API 17

我的应用程序需要Google Play服务8.1,它可以正常运行,并且在模拟器上运行时会显示消息“您需要更新Google Play服务”

当我单击更新时,什么都没有发生,

如何在不下载任何最新API版本的情况下更新Google Play服务?


1
可能什么也没发生。您更有可能在运行控制台中收到类似于的错误android.content.ActivityNotFoundException: No Activity found to handle Intent...
加藤

1
截至2017年,接受的答案不再正确。来自@ user345280的关于模拟器窗口中选项卡的建议应为可接受的答案。
安东尼·丘纳德

我几天前就遇到了这个问题,但没有任何答案可以解决我的问题。我在底部发布了我的解决方案,也许它将对2019
Ban Markovic,

Answers:


85

2017年12月18日更新

您可以通过模拟器中的Play商店应用更新Google Play服务,就像在物理Android设备上通过API 24进行更新一样。

检查通过Android Studio v 3.0的稳定更新添加的模拟器新功能

Google Play支持 -来自Google:我们知道许多应用程序开发人员都在使用Google Play服务,因此很难在Android Emulator系统映像中保持该服务的最新状态。为了解决此问题,我们现在提供包含Play商店应用的Android系统映像版本。Google Play图片可从Android Nougat(API 24)开始使用。有了这些新的模拟器图像,您可以像在物理Android设备上一样,通过模拟器中的Play商店应用更新Google Play服务。另外,您现在可以使用Google Play商店测试端到端的安装,更新和购买流程。


快速启动-快速启动可让您在6秒内恢复Android模拟器会话

Android CTS兼容性

性能改进-使用最新版本的Android仿真器,我们现在可以按需分配RAM,而不是将内存分配和固定为AVD中定义的最大RAM大小。

虚拟传感器

Wi-Fi支持

GPS定位以及更多...

要么

将此SDK Build-Tools和Android Emulator更新至最新版本,并且此警告消息不会再出现,

设置-> Android SDK-> SDK工具(选项卡)-> Android SDK构建工具

在此处输入图片说明


27
这只是行不通,新下载的图像没有数据提供Google Play服务
FRR

4
?所有仿真器(带有google API)都带有一个版本的google play服务,问题是关于如何将其更新到最新版本。下载较旧的API会获得较新的版本,但仍不是最新版本。(你没有提到在你的答案)
FRR

6
请停止在其他人的帖子下方发布指向您答案的链接。
meagar

4
在最新的API 27
JPM

10
似乎没有这个答案,因为他们都在问关于“安卓4.2.2 API 17”是相关的问题,但更新的答案只对API> = 24,有关
Liron Yahdav

77

使用已安装Play商店的模拟器。更新播放服务就像在真实设备中一样容易。

自从Google 在Android SDK工具26.0.0中引入Google Play商店图片以来,现在模拟器已安装了Google Play商店

在此处输入图片说明

从26.0.3

  • 在扩展的窗口中为Google Play商店图片添加新标签,其中显示了Play服务的版本和用于检查Play服务更新的按钮。

模拟器设置


17
我的扩展窗口中没有“ Google Play”标签。可能是什么问题?
K.Os

11
您是否在安装了Playstore的情况下使用模拟器?检查您是否安装了sdk管理器-> sdk平台-> Android 8-> Google Play ...系统映像。下载它。使用该图像创建新的模拟器。
user345280

5
它适用于Android Studio 2.3.3。创建一个新的AVD,选择Nexus 5Nexus 5X(带有Google Play图标的行),按下一步,然后按下载Android 8.0 (Google Play)Android 7.0 (Google Play)。请注意(Google Play)当前的SDK名称。@ user345280可能要编辑答案并添加此信息。
拉斐尔·奥利维拉

2
感谢@RafaelOliveira,我一直在尝试使用Pixel,并想知道为什么它看不到我的Google Play图片...必须是Nexus 5或5X​​!
hughjdavey

12
似乎没有这个答案是相关的问题,因为他们都在问关于“安卓4.2.2 API 17”,但这个答案是> = 24,只对API相关
Liron Yahdav

18

根据Google文档

如果要在模拟器上测试您的应用,请展开适用于Android 4.2.2(API 17)或更高版本的目录,选择Google API,然后进行安装。然后,以Google API为平台目标创建新的AVD。

尝试在模拟器中导航至设置->应用,然后找到Google Play服务。检查版本号并在build.gradle中使用它。要使用最新版本进行更新,您可以在这些文档SO问题中看到它。


2
很好的建议,但是无论如何您都不能使用旧的Play服务版本来测试需要更新版本的功能。
andreszs

17

您需要安装Google Play映像,Android SDK-> SDK平台->检查显示程序包详细信息->安装Google Play。 在此处输入图片说明


16

在具有系统映像的虚拟设备上运行该应用程序,“ Google Play API”而不是“ Google API”将顺利解决您的问题。

  • 虚拟设备Nexus 5x和Nexus 5支持“ Google Play API”图像。

  • Google Play API随附了Nougat 7.1.1和O 8.0。

只需按照以下简单步骤操作,并确保您的PC已连接到Internet。

  1. 通过从Android虚拟设备管理器中选择“创建虚拟设备”(左下角)来创建新的虚拟设备。

  2. 选择硬件“ Nexus 5x”或“ Nexus 5”。

  3. 通过Google Play下载系统映像“牛轧糖”或通过Google Play下载系统映像“ O”。“ O”是最新的Android 8.0版本。

  4. 单击下一步,然后单击完成。

  5. 在新的虚拟设备上再次运行您的应用程序,然后单击显示的“立即升级”选项以及警告消息。

  6. 您将被带到Play商店,并且可以轻松更新Google Play服务。

看到您的应用运行顺利!

  • 注意:如果您打算使用Google Play服务提供的API,则必须使用Google API系统映像。

2
嗯,没有Google Play API
jlively

1
非常感谢。这对我有用。自升级到Android Studio 3.0后,我一直无法登录。
pvella

7
似乎没有这个答案是相关的问题,因为他们都在问关于“安卓4.2.2 API 17”,但这个答案是> = 24,只对API相关
Liron Yahdav

8

直到找到了“ 显示包装详细信息”选项,此页面上的答案才使我难以理解

在此处输入图片说明


7

我的答案不是更新Google Play服务,而是解决。使用以下代码获取模拟器的播放服务版本

getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName);

例如,如果值为“ 9.8.79”,则使用最近的次要版本com.google.android.gms:play-services:9.8.0'

这样可以解决您的问题。从https://developers.google.com/android/guides/releases#november_2016_-__v100获取发布历史记录


1
您能否详细说明“使用最近的较小版本”的含义?我如何“使用”这个?如果我知道我的Android Studio模拟器使用的是8.0.87版,那么我该如何处理这些信息?我必须设置的清单文件或gradle文件中有东西吗?
Marc

您可以使用7.8
Ganesh Kanna

2

我知道答案很晚,但最近两天我遇到了同样的问题,上述解决方案都无法解决。我的应用程序支持最低SDK 16,Jelly Bean 4.1.x,因此我想在具有16个android API版本的模拟器上测试我的应用程序,并且我需要Google Play服务。

简而言之,对我有用的解决方案是:

  • 制作新的模拟器Nexus 5X(具有Play商店支持)-Jelly Bean 4.1.x,16 API级别(不包括Google API)
  • 手动下载Google Play商店和Google Play服务的APK(两个APK的版本必须相同,它们必须以相同的数字开头,例如17.x)
  • 将这些apk拖放到新的模拟器中
  • 恭喜,您已在4.1.x模拟器上更新了Google Play服务

这是我在问题中遇到的步骤和错误。

因此,我在AVD中制作了新的模拟器。我选择了Nexus 5X(支持Play商店)。之后,我选择了Jelly Bean 16 api级别(带有Google API)。当我打开应用程序对话框时,弹出对话框,提示您需要更新Google Play服务。当我单击“更新”按钮时,没有任何反应。我确实在SDK管理器中更新了所有必要的内容,但没有任何效果。我没有在模拟器上安装Google Play商店,即使我选择了预装Play商店附带的Nexus 5X。因此,我在扩展控件(模拟器旁边的树点)中找不到Google Play商店标签。

由于没有任何效果,我决定尝试通过下载APK并将其拖动到模拟器中来手动安装Google Play服务。尝试此操作时,我遇到问题APK无法安装。错误:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES。我发现这是问题所在,因为我选择了Jelly Bean 16 api级别(使用Google API)。所以我做了新的模拟器

Nexus 5X(支持Play商店)-Jelly Bean 16 API级别(不带 Google API)

这使我可以手动安装Google Play服务。但是当我运行我的应用程序时,它仍然不想打开它。问题是我的模拟器缺少Google Play商店。因此,我像Google Play服务一样手动安装了它。但是,安装成功后,对话框开始每秒弹出一个对话框,提示您不幸的是Google Play服务已停止。问题是我的Google Play商店的版本是17.x,Google Play服务的版本是19.x。因此,最后我安装了17.x版的Google Play服务,一切正常。


您如何下载和安装apks?
CoolMind

@CoolMind只是从apkmirror.com下载它们(在Google中搜索Google Play服务apk apkmirror)。下载它们时,只需将apk文件拖放到模拟器中即可。
Ban Markovic

谢谢!我也想到了这一点,但不确定。我会尝试。您是否使用了版本17或更高版本?
CoolMind

1
没问题,希望您能解决您的问题。我使用了17版本的GPS,但是我认为您可以使用任何想要的较新版本。这里是一个小的更多信息有关我的解决方案的文章medium.com/@banmarkovic/...
班马尔科维奇

1
我不确定我是否理解您所说的一切。但是我会避免使用armeabi-v7a版本的apk和仿真器,并且会尝试仅使用x86架构(apks和仿真器)进行的所有操作。
Ban Markovic

1

我有同样的问题。只要避免将仿真器与SDK 27配合使用即可。SDK26可以正常运行!


0

我遇到了同样的问题。我更新了Android Studio,并使用API​​ 25目标为Android 7.1.1和X86,并且一切正常。我为我的项目使用Google Play服务和Firebase


0

2020年,错误的 Google Play服务已过期。需要12451000但找到11743470

您使用有效的帐户插入帐户后,只需从Google Play更新Google Play服务即可。

PS:我尝试了不同的仿真器版本,但全部都需要更新Google Play服务。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.