Unity3D中Admob与RevenueCat兼容性问题及构建报错求助
解决Unity中RevenueCat与Admob共存的Android构建问题
核心问题梳理
- Android Resolver异常:导入两个SDK后,Resolver持续运行约30分钟后崩溃,无法完成依赖解析
- PurchasesWrapper编译错误:找不到
androidx.annotation.NonNull/Nullable类 - Firebase Installations冲突:多版本重复类导致Gradle构建失败
分步解决方案
一、修复Android Resolver崩溃问题
- 清理Unity缓存:删除项目根目录下的
Library文件夹,重启Unity后让项目重新生成缓存 - 重置Gradle环境:关闭Unity,删除用户目录下的
.gradle文件夹(Windows:C:\Users\<你的用户名>\.gradle;Mac:~/Users/<你的用户名>/.gradle),避免缓存的旧依赖干扰 - 临时禁用自动解析:在Unity的
Assets > External Dependency Manager > Android Resolver > Settings中,取消勾选Enable Auto-Resolution,先手动处理依赖
二、解决androidx.annotation缺失问题
- 启用自定义Gradle模板:在
Player Settings > Publishing Settings > Build中,勾选Custom Main Gradle Template和Custom Base Gradle Template - 打开
mainTemplate.gradle,在dependencies块中添加稳定版的androidx.annotation依赖:dependencies { // 保留原有依赖,新增以下行 implementation 'androidx.annotation:annotation:1.6.0' } - 该配置会强制引入完整的注解库,覆盖RevenueCat包中可能缺失的依赖项
三、解决Firebase Installations版本冲突
- 打开
baseProjectTemplate.gradle,在allprojects块中添加版本强制策略:allprojects { repositories { // 保留原有仓库配置 } configurations.all { resolutionStrategy { // 替换为两个SDK兼容的稳定版本,示例为20.3.0 force 'com.google.firebase:firebase-installations:20.3.0' } } } - 重新执行依赖解析:在Unity的
Assets > External Dependency Manager > Android Resolver > Resolve中运行解析,确认Firebase Installations版本唯一
四、最终构建验证
- 重新启用Android Resolver的自动解析,执行完整的依赖同步
- 清理项目后尝试构建Android包,检查编译错误是否消除
内容的提问来源于stack exchange,提问作者VINNUSAURUS
相关产品推荐
相关产品推荐

