React Native集成广告库报错求助:依赖冲突与构建失败
React Native广告库集成问题解决方案
问题1:@react-native-firebase/admob安装时依赖树解析错误
问题原因
项目中@react-native-firebase/app版本为15.3.0,但默认安装的@react-native-firebase/admob为11.5.0,两者peer依赖版本不匹配,触发ERESOLVE错误。
解决方案
安装与@react-native-firebase/app同版本的admob包,执行命令:
npm i @react-native-firebase/admob@15.3.0
@react-native-firebase生态下所有包版本必须保持一致,否则会出现依赖冲突
问题2:react-native-google-mobile-ads安装后Android构建错误
错误1:无法获取extra properties扩展中的googleMobileAdsJson属性
解决方案
在项目根目录的android/gradle.properties文件中添加该属性,指定google-services.json的路径(若文件放在android目录下):
GOOGLE_MOBILE_ADS_JSON=./google-services.json
或者直接在android/app/build.gradle的defaultConfig中配置广告ID(无需json文件):
android { defaultConfig { // 保留原有配置 manifestPlaceholders = [ GOOGLE_MOBILE_ADS_APP_ID: "你的广告应用ID" ] } }
错误2:未指定compileSdkVersion
解决方案
在android/build.gradle的buildscript块的ext中统一配置版本信息:
buildscript { ext { compileSdkVersion = 33 targetSdkVersion = 33 minSdkVersion = 21 } // 保留原有配置 }
也可直接在android/app/build.gradle的android块中指定:
android { compileSdkVersion 33 // 保留原有配置 }
React Native 0.69.4推荐使用compileSdkVersion 33,确保版本兼容性
内容的提问来源于stack exchange,提问作者Rahul Aadam
相关产品推荐
相关产品推荐

