google map api v2,以及旧版本的google play services lib

时间:2013-11-16 13:39:56

标签: android google-maps google-play

我将在我的Android应用程序中使用地图,我应该使用谷歌播放服务。我在这里阅读了许多q \ a,如this。在上面提到的问题中,接受的答案建议使用旧版本的google play服务lib,就像Froyo那样。我下载了谷歌播放服务r10并在我的应用程序中使用它,但我收到了错误。

如果我从清单中排除这行代码:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

并在我的设备中运行应用程序(我的设备中当前版本的google playe服务版本是3.2.66),它会抛出错误:

java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4030500 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

如果我将它包含在android:value = 4030500中,该应用程序会运行,但我说应该更新我的“google play服务”。

那么我应该把android:value或者我的方法完全正确呢?

此致

3 个答案:

答案 0 :(得分:4)

  

我下载了google play services r10并在我的应用中使用它

以上陈述是您遇到问题的根本原因。如果你真的使用过r10(甚至是r12),那么比去掉

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
从您的AndroidManifest

,您不会收到此错误:

java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4030500 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

此错误只是说,您链接到4.0.30版本的Google Play服务库。

所以解决方法是删除上面的meta-data,并确保链接到以前的版本之一。

如果使用gradle或maven,只需将依赖版本设置为3.2.65即可。如果开发旧方法,请在Android SDK Manager中下载Froyo的Google Play服务,将其从sdk/extras/google/复制到您的工作目录中,并在项目首选项中选择此项目作为库依赖项目。

答案 1 :(得分:4)

我也遇到了同样的问题。 在我的清单文件中添加这两行之后就可以了。

<meta-data android:name="com.google.android.gms.version" 
 android:value="@integer/google_play_services_version" />

<meta-data android:name="com.google.android.maps.v2.API_KEY"
          android:value="AIzaSyBAjfcxZvbt_COHjy7igHZnLBfsO1cfoM8" />

答案 2 :(得分:3)

将您的Google Play服务更新为您的sdk管理员的最新版本,即rev 13

您需要将以下内容添加到清单文件

 <meta-data android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />

https://developers.google.com/maps/documentation/android/start#add_the_google_play_services_version_to_your_apps_manifest

这是从上一次修订版13更新到google-play-services的新要求。