AndroidManifest中的Google Play Services v13错误元数据

我的应用正在使用Google Play服务进行定位。 它也使用Google地图。 直到今天,它运行良好,但在Eclipse更新和谷歌播放服务v13安装后,它不再工作。 今天我已经执行了几个更新。 – Android SDK工具更新至22.3 – Android SDK平台工具更新至19 – Android SDK构build工具更新至19 – Google Play服务更新至13我还更新了ADT

当我启动应用程序时,我得到这个错误消息:

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" /> 

我已经多次使用Google Play服务,而且这个应用程序一直运行良好,直到现在。 我没有在清单中包含任何元数据。

我试图解决这个问题,包括在我的应用程序清单中的元数据标签,但它不工作。 目前我的应用程序清单看起来像这样(这是清单包含在我的应用程序,当它工作)。

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myapp.app" android:versionCode="2" android:versionName="1.0.1" > <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <permission android:name="com.myapp.app.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.myapp.app.permission.MAPS_RECEIVE" /> <supports-screens android:requiresSmallestWidthDp="320" /> <supports-screens android:compatibleWidthLimitDp="394" /> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/CustomizedTheme" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="thecode" /> <activity android:name="com.myapp.app.ActivityMain" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

我想知道这个问题是由于谷歌播放服务清单?

这是我发现的清单:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="4030530" android:versionName="4.0.30 (889083-30)" > <uses-sdk android:minSdkVersion="8"/> </manifest> 

为了使用Google Play服务,我按照过去和现在一直没有发现任何问题的方式遵循Google提供的指示。

Google地图入门指南说:

将Google Play服务版本添加到应用的清单中

编辑您的应用程序的AndroidManifest.xml文件,并在元素中添加以下声明。 这embedded了应用程序编译的Google Play服务的版本。

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

如果您使用谷歌播放服务修订13,那么必须把这个元标记:

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

但它不工作像android 2 *低级别的API。 要解决这个问题,首先安装谷歌播放服务frayo修订版12,并使用它。 它适用于所有的api级别

@Javier你有没有看到“android开发人员博客”的post? 他们上周更新了Google Play服务应用程序。 所以,版本代码现在适合lib。 它运作良好。 我们现在可以使用最新版本的“google-play-service-lib”。 我testing了它,它的工作原理! 请参阅http://android-developers.blogspot.kr/2014/01/google-play-services-41.html