AndroidManifest.xml中的元数据标记没有正确的值

时间:2014-04-30 18:40:45

标签: java android google-play-services

我遇到的问题是,我的应用程序设置了较旧版本的谷歌播放服务用于广告,一切都很好,这个版本的应用程序目前正在谷歌播放生产。我没有更新任何代码,因为更新版本的google play服务问世,当我尝试更新某些内容时,当我在拥有最新版google play服务的设备上进行测试时,我收到此错误:

java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4132500 but found 4242000.  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" />
    at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
    at com.google.android.gms.internal.u.a(Unknown Source)
    at com.google.android.gms.internal.ag.U(Unknown Source)
    at com.google.android.gms.internal.ag.a(Unknown Source)

这就是我的AndroidManifest的样子:

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

我怀疑问题是我正在使用较旧版本的google play服务进行编译,并且因为我得到了错误,但我不明白的是据我所知,我的生产中的当前版本已经构建与较旧的谷歌播放服务版本,我没有任何来自此错误的崩溃报告,我假设现在大多数,如果不是所有设备都有最新版本所以通过遵循以前的逻辑,他们也应该崩溃因为这。因此,有必要更改我用来构建新版本的Google Play服务项目,或者旧版本仍可使用吗?我不明白为什么旧版本不能继续使用。

注意:将元数据标记硬编码为预期的内容&#34; 4132500&#34;对于谷歌播放服务的版本确实解决了现在的问题,但我不知道这是否一定是我的问题的正确解决方案。

2 个答案:

答案 0 :(得分:0)

您链接了错误的版本google-play-services.jar。 您应该使用 android-sdk / extras / google / google_play_services / libproject / google-play-services_lib / libs / google-play-services.jar

中的jar

使用 android-sdk / extras / google / google_play_services / libproject / google-play-services_lib / res / values / version.xml

中的版本号

答案 1 :(得分:0)

我刚遇到这个错误。我刚刚移动了2&lt;元数据&gt;在&lt;&gt;中的configChange行上方的行(name&amp; valve)申请&gt;现在又恢复了。没有其他变化。