缺少AVD的Google Play服务

时间:2012-12-09 02:51:09

标签: android google-play-services

我最近开始针对Android开发,在尝试在我的应用中使用Google地图时遇到了麻烦。我下载了适用于Android的Google Maps API v2,并且已经根据Google Developers Site执行了所有必需的步骤。

我的问题是,虽然应用程序会运行,但在应该显示地图的位置会有一条文字说明我的设备缺少Google Play服务。

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

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

7 个答案:

答案 0 :(得分:13)

很遗憾,您无法使用模拟器来运行使用Google Play服务的应用。来自http://developer.android.com/google/play-services/setup.html“Android模拟器不支持Google Play服务 - 要使用API​​进行开发,您需要提供Android手机或平板电脑等开发设备。”

答案 1 :(得分:12)

来自谷歌自己的网站http://developer.android.com/google/play-services/setup.html

  

如果要在模拟器上测试应用程序,请展开目录   Android 4.2.2(API 17)或更高版本,选择Google API,以及   安装它。然后使用Google API作为平台创建一个新的AVD   目标。注意:仅限Android 4.2.2及更高版本的Google   API平台包括Google Play服务。

答案 2 :(得分:4)

我遇到了同样的问题,发现solution

以下是更新的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

答案 3 :(得分:1)

Bellow链接包含适用于Android 4.2.2或更高版本的解决方案

How to install Google Play Services in Android Emulator

  

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

答案 4 :(得分:0)

是的,您可以在模拟器上使用Google地图。但是,它没有得到官方支持,所以需要一些工作。关于此link的信息,我取得了最大的成功。

答案 5 :(得分:0)

我发现了这个,我希望它可以帮到你;)

Installing Google Play on Android Emulator

Run Google Play Services in your emulator

答案 6 :(得分:0)

如果还有人遇到此问题,请先尝试使用Google API作为平台目标来创建模拟器。在这样做之后,我注意到我的Google Play服务不是模拟器上的正确版本。

在尝试破解解决方案时,我偶然发现let newSummary = Object.assign(Parent.summary, {...yourchange}); this.setState(Object.assign(Parent.summary, { summary: newSummary })}) here。谷歌在处理兼容性问题方面做了非凡的工作。

GoogleApiAvailability返回一个整数状态代码,可以直接输入GoogleApiAvailability.isGooglePlayServicesAvailable(Context),返回一个开箱即用的getErrorDialog(Activity, errorCode, requestCode)。如果您的Play服务已过期,该对话框会将您重定向到更新程序......如果它们丢失,它会将您重定向到安装程序等...

以为我会分享这个很棒的功能,以防有人在寻找可以在生产代码和测试中使用的修复。