【问题标题】:Missing Google Play Services from AVDAVD 缺少 Google Play 服务
【发布时间】:2012-11-26 21:03:38
【问题描述】:

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

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

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

我使用的是 Netbeans,而不是 Eclipse,所以我在网上找到的许多解决方案对我没有用处。我希望你能帮我解决这个问题。

【问题讨论】:

  • 关于在 AVD 上使用 Google 地图的问题肯定有上千个,我经常遇到的一个问题是,您的目标必须设置为“Google APIs (Google Inc.) ” 不像“Android 2.2”。在您担心其他任何事情之前,请确保您已完成此操作。

标签: android google-play-services


【解决方案1】:

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

【讨论】:

  • 所以模拟器中的位置控制没用! :j
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,发现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
    

    【讨论】:

      【解决方案4】:

      以下链接包含适用于 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 亚行安装 \com.google.android.gms-19032013.apk

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          【讨论】:

            【解决方案7】:

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

            在尝试拼凑解决方案时,我偶然发现了 GoogleApiAvailabilityhere。谷歌在处理兼容性问题方面做得非常出色。

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

            我想我会分享这个很棒的功能,以防有人正在寻找可以在生产代码和测试中工作的修复程序。

            【讨论】:

              猜你喜欢
              • 2016-09-22
              • 1970-01-01
              • 2014-10-31
              • 2016-12-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多