升级firebase-ads至22.0.0后出现jetified-play-services-ads-lite URI未注册错误
解决firebase-ads升级后AndroidManifest.xml URI未注册错误
问题描述
将firebase-ads从20.6.0升级至22.0.0后,jetified-play-services-ads-lite-22.6.0的AndroidManifest.xml出现“URI is not registered”错误,且无法降级回旧版本。当前依赖配置:
implementation 'com.google.firebase:firebase-ads:22.0.0' // previous version 20.6.0
解决方案
修复IDE Schema配置
打开Android Studio的Settings → Languages & Frameworks → Schemas and DTDs,找到报错的未注册URI(通常是ads相关命名空间),点击右侧的+按钮手动添加对应Schema地址;也可直接点击报错URI旁的提示选项,让IDE自动下载匹配的Schema。清理缓存并重建项目
- 执行
File → Invalidate Caches...,选择Invalidate and Restart重启IDE - 在终端运行命令清理构建缓存:
# Mac/Linux ./gradlew clean build # Windows gradlew clean build
- 执行
解决依赖版本冲突
当前出现22.6.0的play-services-ads-lite,大概率是依赖树中存在版本冲突,可强制统一依赖版本:- 先查看依赖树确认冲突来源:
./gradlew dependencies - 在
build.gradle中排除firebase-ads自带的ads-lite,手动指定与firebase-ads匹配的版本:implementation('com.google.firebase:firebase-ads:22.0.0') { exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' } implementation 'com.google.android.gms:play-services-ads-lite:22.0.0'
- 先查看依赖树确认冲突来源:
确认主Manifest命名空间
检查主项目的AndroidManifest.xml根标签,确保声明了ads命名空间:<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" package="your.package.name">
内容的提问来源于stack exchange,提问作者abhilash kaveriappa
相关产品推荐
相关产品推荐

