在模拟器中更新 Google Play 服务

Posted

技术标签:

【中文标题】在模拟器中更新 Google Play 服务【英文标题】:updating Google play services in Emulator 【发布时间】:2016-05-30 07:22:16 【问题描述】:

我在 Google Play 上遇到过很多这样的问题,我使用的是 Android 4.2.2 API 17

我的应用需要 Google play services 8.1,它编译良好,当它在模拟器上运行时显示消息 '您需要更新您的 Google play services'

当我点击更新时没有任何反应,

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

【问题讨论】:

不太可能什么都没发生。更有可能是您在运行控制台中收到类似于android.content.ActivityNotFoundException: No Activity found to handle Intent... 的错误。 自 2017 年起,接受的答案不再正确。 @user345280 关于模拟器窗口中选项卡的建议应该是公认的答案。 几天前我遇到了这个问题,但没有一个答案能解决我的问题。我在底部发布了我的解决方案,也许它会对 2019 年来到这里的人有所帮助。 【参考方案1】:

2017 年 12 月 18 日更新

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

使用 Android Studio v 3.0 的稳定更新检查 Emulator new features added

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


快速启动 - 快速启动可让您恢复您的 Android 模拟器 不到 6 秒的会话

Android CTS 兼容性

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

虚拟传感器

Wi-Fi 支持

GPS 位置等等...

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

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

【讨论】:

这行不通,新下载的图片来自谷歌播放服务的数据不足 ?所有模拟器(带有谷歌 API)都带有一个版本的谷歌播放服务,问题是如何将其更新到最新版本。下载较旧的 API 可以让您获得较新的版本,但仍然不是最新的。 (你在回答中没有提到的事情) 请停止在其他人的帖子下方发布指向您答案的链接。 似乎在最新的 API 27 中缺少它 似乎这个答案与问题无关,因为他们询问的是“Android 4.2.2 API 17”,但更新后的答案仅与 API >= 24 相关。【参考方案2】:

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

自从 Google 在 Android SDK Tools 26.0.0 中引入 Google Play Store images 以来,现在模拟器已经安装了 Google Play Store。

从 26.0.3 开始

在 Google Play 商店图像的扩展窗口中添加了一个新选项卡,显示 Play 服务版本和一个用于检查 Play 服务更新的按钮。

【讨论】:

我的扩展窗口中没有这个“Google Play”标签。可能是什么问题? 您是否使用安装了 playstore 的模拟器?检查您是否安装了 sdk manager -> sdk 平台 -> Android 8 -> Google Play ... 系统映像。下载它。使用该图像创建新的模拟器。 它适用于 Android Studio 2.3.3。创建一个新的 AVD,选择 Nexus 5Nexus 5X(带有 Google Play 图标的行),按下一步,然后下载 Android 8.0 (Google Play)Android 7.0 (Google Play)。请注意 SDK 名称中的 (Google Play)。 @user345280 可能想要编辑答案并添加此信息。 感谢@RafaelOliveira 我多年来一直在尝试使用 Pixel 并想知道为什么它看不到我的 Google Play 图片...一定是 Nexus 5 或 5X! 似乎这个答案与问题无关,因为他们询问的是“Android 4.2.2 API 17”,但这个答案只与 API >= 24 相关。【参考方案3】:

你需要安装谷歌播放图片, Android SDK -> SDK 平台 -> 检查显示包详细信息 -> 安装 Google play。

【讨论】:

【参考方案4】:

基于Google documentation,

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

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

【讨论】:

不错的建议,但无论如何您不能使用旧版 Play 服务来测试需要较新版本的功能。【参考方案5】:

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

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

Google Play API 随附 Nougat 7.1.1 和 O 8.0。

只需按照以下简单步骤,确保您的电脑已连接到互联网。

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

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

    使用 Google Play 下载系统映像“Nougat”或使用 Google Play 下载“O”。 “O”是最新的 Android 8.0 版本。

    单击下一步并完成。

    在新的虚拟设备上再次运行您的应用,然后点击与警告消息一起显示的“立即升级”选项。

    您将被引导至 Play 商店,您可以轻松更新您的 Google Play 服务。

看到您的应用运行顺利!

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

【讨论】:

嗯没有Google Play API的。 非常感谢。这对我有用。升级到 Android Studio 3.0 后,我一直无法登录工作。 似乎这个答案与问题无关,因为他们询问的是“Android 4.2.2 API 17”,但这个答案只与 API >= 24 相关。【参考方案6】:

直到我找到显示包详细信息选项

【讨论】:

【参考方案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获取发布历史记录

【讨论】:

您能否详细说明“使用最近的较小版本”是什么意思?我如何“使用”这个?如果我知道我的 Android Studio 模拟器使用的是 8.0.87 版本,那么我究竟该如何处理这些信息?清单或 gradle 文件中是否有我必须设置的内容? 你可以用7.8【参考方案8】:

我知道这是迟到的答案,但过去两天我遇到了同样的问题,上述解决方案都不适合我。我的应用支持 min 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 Store 和 Google Play Services 的 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 Store,即使我选择了预装 Play Store 的 Nexus 5X。所以我在扩展控件(我的模拟器旁边的树点)中找不到 Google Play 商店选项卡。

因为没有任何效果,我决定尝试手动安装 Google Play 服务,方法是下载 APK 并将其拖入模拟器。当我尝试这个时,我遇到了问题 APK 安装失败。错误:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES。我认为这是问题所在,因为我选择了 Jelly Bean 16 api 级别(使用 Google API)。所以我做了新的模拟器

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

这让我可以手动安装我的 Google Play 服务。但是当我运行我的应用程序时,它仍然不想打开它。问题是我的模拟器缺少 Google Play 商店。所以我像谷歌播放服务一样手动安装它。但是当它成功安装后,对话框开始每秒弹出消息不幸的是 Google Play 服务已停止。问题是我的 Google Play Store 版本是 17.x,而 Google Play Service 是 19.x。所以最后我安装了 17.x 版的 Google Play 服务,一切正常。

【讨论】:

你是如何下载和安装apks的? @CoolMind 只需从 apkmirror.com 下载它们(在 google google play services apk apkmirror 中搜索)。当您下载它们时,只需将 apk 文件拖放到您的模拟器中即可。 谢谢!我也想过这个,但不确定。我会尝试。您使用的是 17 版或更高版本吗? 没问题,希望你能解决你的问题。我使用了 17 版本的 GPS,但我认为您可以使用任何您想要的新版本。这是有关我的解决方案medium.com/@banmarkovic/… 的更多信息的文章 我不确定我是否理解你所说的一切。但我会避免使用 armeabi-v7a 版本的 apk 和模拟器,并且会尝试仅使用 x86 架构(apks 和模拟器)的所有内容。【参考方案9】:

我遇到了同样的问题。我更新了我的 Android 工作室并将 API 25 目标用作 Android 7.1.1 和 X86,一切正常。我在我的项目中使用 Google Play 服务和 Firebase

【讨论】:

【参考方案10】:

我遇到了同样的问题。只需避免使用带有 SDK 27 的模拟器即可。SDK 26 可以正常工作!

【讨论】:

【参考方案11】:

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

使用有效帐户登录后,只需从 Google Play 更新 Google Play 服务即可。

PS:我尝试了不同的模拟器版本,但都需要更新 google play 服务。

【讨论】:

如果我的模拟器上没有 Google Play 怎么办【参考方案12】:

更新您的 google play 服务,或者只是创建新的模拟器。 当您安装新的模拟器时,此问题将自动解决。 快乐编码:)

【讨论】:

如果我的模拟器上没有 Google Play,我该如何更新 google play 服务? 你可以使用genymotion模拟器来解决这个问题。

以上是关于在模拟器中更新 Google Play 服务的主要内容,如果未能解决你的问题,请参考以下文章

Android 模拟器上的 Google Play 服务和 Google Play 游戏应用

模拟器 kitkat API 级别 19 中的 Google Play 服务错误

使用 Google Maps API android studio “除非您更新 Google Play 服务,否则应用程序将无法运行”

模拟器中的 Google Play 服务,实现 Google Plus 登录按钮等

Google Play 游戏服务 + 模拟器

除非您更新 Google Play 服务错误,否则此应用将无法运行