我试图在我的android应用程序中添加间隙广告,但我得到了以下错误消息:
java.lang.IllegalStateException:应用程序的AndroidManifest.xml中的元数据标记没有正确的值。预期为7895000,但发现为7571000。元素中必须有以下声明:
我尝试将代码添加到我的AndroidManifest中,但它没有提供任何解决方案。有人有主意吗?
舱单代码:
<meta-data
android:name="com.google.android.gms.version"
android:value="7895000 " />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />发布于 2015-09-04 09:27:30
这是因为您正在使用的元标记是旧的。答案很简单-
在Android中,在<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 )中,将-
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>格莱多-
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服务库是旧的。试着更新一下。
发布于 2015-09-04 09:29:42
这是关于不正确的Google服务版本。第一项补充:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>到应用程序块。其次,确保在gradle配置中使用特定的Google服务版本,如:
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.+'因为您可能包括目前不支持的库。
https://stackoverflow.com/questions/32394373
复制相似问题