我遇到的问题是,我的应用程序设置了较旧版本的谷歌播放服务用于广告,一切都很好,这个版本的应用程序目前正在谷歌播放生产。我没有更新任何代码,因为更新版本的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;对于谷歌播放服务的版本确实解决了现在的问题,但我不知道这是否一定是我的问题的正确解决方案。
答案 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;现在又恢复了。没有其他变化。