我正在尝试将插页式广告添加到我的Android应用程序中,但我收到以下错误消息:
java.lang.IllegalStateException:应用程序的AndroidManifest.xml中的元数据标记没有正确的值。预计7895000但找到7571000.您必须在元素中包含以下声明:
我尝试将代码添加到AndroidManifest,但它没有提供任何解决方案。有人有想法吗?
清单代码:
@AfterClass
答案 0 :(得分:2)
这是因为您使用的元标记是旧的。答案很简单 -
在Android Manifest中,在<application>
内,替换此 -
<meta-data android:name="com.google.android.gms.version" android:value="7571000" />
有了这个 -
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
在Gradle中(如果使用的是Android Studio),请输入 -
compile 'com.google.android.gms:play-services-ads:7.8.0'
compile 'com.google.android.gms:play-services-base:7.8.0'
注意 - 如果这不起作用,请设置+
- ads:7.8.+
和base:7.8.+
,但由于存在一些问题,因此效果不佳有这个。
如果问题仍然存在,请尝试此操作。 (虽然我不推荐它),请使用此 -
<meta-data android:name="com.google.android.gms.version" android:value="7895000" />
如果您喜欢这个答案,请将其标记为selected
。
编辑 - 我几天前用应用程序制作了应用程序,使用此代码并且工作正常 -
清单 -
<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sampleapp.app">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<!-- EXTRA CODE -->
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
</application>
</manifest>
Gradle -
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.sampleapp.app"
minSdkVersion 10
targetSdkVersion 22
versionCode 2
versionName "1.1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.google.android.gms:play-services:7.5.0' //LOOK HERE
}
最新编辑 - 我认为您使用的Admob / Google Play服务库已经过时了。尝试更新它。
答案 1 :(得分:0)
这是关于Google Play服务版本的错误。 Firsto of all add:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
到应用程序块。 其次,请确保您在Gradle配置中使用的是特定的Google Play服务版本:
compile 'com.google.android.gms:play-services-ads:7.8.0'
compile 'com.google.android.gms:play-services-base:7.8.0'
避免使用“+”,如:
compile 'com.google.android.gms:play-services-ads:7.+'
因为您可能包含目前不支持的库。