Android应用集成Admob包失败,寻求解决方案
解决AdMob集成的依赖冲突与Manifest错误
1. 升级AGP与Build Tools版本
你当前使用的buildToolsVersion 30.0.3与compileSdkVersion 33版本不匹配,且旧版Android Gradle Plugin(AGP)不支持AdMob 22.x自动生成的<property>标签,这是Manifest错误的核心原因:
- 打开项目根目录的
build.gradle,将AGP升级到兼容compileSdk 33的版本(如7.4.2):
plugins { id 'com.android.application' version '7.4.2' apply false }
- 在app模块的
build.gradle中更新buildToolsVersion:
android { compileSdkVersion 33 buildToolsVersion "33.0.2" // 保留其他原有配置 }
2. 统一Lifecycle依赖版本解决冲突
冲突源于NumberToWords-Library依赖旧版lifecycle-common:2.3.1,而appcompat:1.6.1依赖2.5.1,可通过以下两种方式解决:
方式一:用Gradle属性强制统一版本
在项目根目录的gradle.properties中添加:
androidx.lifecycleVersion=2.5.1
方式二:显式声明高版本依赖
在app模块的dependencies中添加高版本依赖以覆盖旧版本:
dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.github.kaustubhk24:NumberToWords-Library:434afa327b' implementation 'androidx.lifecycle:lifecycle-common:2.5.1' // 添加指定版本的AdMob依赖 implementation 'com.google.android.gms:play-services-ads:22.6.0' }
3. 正确配置AdMob的Manifest内容
确保AndroidManifest.xml中仅添加AdMob应用ID,不要手动添加<property>标签:
<manifest ...> <application ...> <!-- 替换为你的AdMob应用ID --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application> </manifest>
4. 同步并构建项目
点击Android Studio的「Sync Project with Gradle Files」按钮,完成同步后重新构建项目即可。
内容的提问来源于stack exchange,提问作者Kaustubh Kulkarni
相关产品推荐
相关产品推荐

