AVD中缺少Google Play服务

18

我最近开始开发Android应用程序,在尝试在我的应用程序中使用Google Maps时遇到了问题。我下载了适用于Android的Google Maps API v2,并已按照Google Developers网站上的所有必需步骤执行。

我的问题是,虽然该应用程序可以运行,但在应该显示地图的位置上却出现了一条消息,说我的设备缺少Google Play服务。

我已经从SDK中下载了Google Play Services,将库导入了我的项目,并且还导入了.JAR文件。

我正在使用NetBeans而不是Eclipse,因此我在网上找到的许多解决方案对我没有用。希望你能帮助我解决这个问题。


4
在使用AVD上的Google Maps方面,可能会有成千上万个问题,其中一个常见问题是你的目标必须设置为“Google APIs(Google Inc.)”,而不是像“Android 2.2”这样的东西。确保在担心其他任何事情之前完成这个设置。 - ninge
7个回答

13

1
模拟器中的位置控件是无用的! :j - Dr.jacky

12

从谷歌的官方网站上 http://developer.android.com/google/play-services/setup.html

如果您想在模拟器上测试您的应用程序,请展开 Android 4.2.2(API 17)或更高版本的目录,选择 Google APIs 并安装。然后创建一个新的 AVD,并将 Google APIs 设置为平台目标。注意:只有 Android 4.2.2 及以上版本的 Google APIs 平台才包含 Google Play 服务。


4

我遇到了同样的问题并找到了解决方案:

这里是更新的gmsvending文件。跟之前一样:创建一个新的模拟器,选择任意cpu/abi、非google-api目标(版本10-17可用),开启或关闭gpu模拟,然后安装这些文件:

adb install com.android.vending-20130716.apk 
adb install com.google.android.gms-20130716.apk 

如果您正在升级现有的模拟器,则可能需要通过以下方式卸载先前的版本:

adb uninstall com.android.vending
adb uninstall com.google.android.gms

1
下面的链接提供了一个适用于Android 4.2.2或更高版本的解决方案。

如何在Android模拟器中安装Google Play服务

1.1 启动模拟器。将其他 Android 设备(如智能手机)与计算机断开连接。 1.2 下载以下两个文件

com.android.vending-19032013.apk:http://www.mediafire.com/download.php?7jfar2v1bzx6v59 com.google.android.gms-19032013.apk:http://www.mediafire.com/download.php?4o9fz413uavlblf

1.3 打开命令控制台,进入\platform-tools目录

使用以下命令安装上述两个文件

adb install \com.android.vending-19032013.apk adb install \com.google.android.gms-19032013.apk


0

是的,您可以在模拟器上使用Google地图。但是,它不受官方支持,需要一些工作。我最成功的方法是按照此link上的信息进行操作。


0
如果有人仍然遇到这个问题,首先尝试使用Google API作为平台目标创建模拟器。在这样做之后,我注意到我的模拟器上的Google Play服务版本不正确。
在试图拼凑解决方案时,我偶然发现了这里GoogleApiAvailability类。Google在处理兼容性问题方面做得非常出色。 GoogleApiAvailability.isGooglePlayServicesAvailable(Context)返回一个整数状态码,可以直接输入getErrorDialog(Activity, errorCode, requestCode)中,该方法会返回一个完美运行的Dialog。如果您的Play服务过期,对话框将重定向您到更新程序...如果它们丢失了,它将重定向您到安装程序等...
我想分享这个伟大的功能,以防有人正在寻找既适用于生产代码又适用于测试的修复方法。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接