React Native 0.66.4构建Android时react-native-onetrust-cmp配置异常求助
解决React Native 0.66.4 Android构建时依赖RN 0.71版本的问题
问题原因
你项目依赖的react-native-onetrust-cmp库,其Gradle配置里用com.facebook.react:react-native:+声明RN依赖——+会让Gradle自动拉取最新可用的RN版本(这里是0.71.0-rc.0),但你的项目实际用的是0.66.4,版本不匹配导致变体选择失败。同时RN 0.70+的Gradle模块属性和旧版本项目配置不兼容,进一步引发了这个问题。
解决方案
方案1:强制统一RN版本(推荐)
在项目根目录的android/build.gradle文件中,添加版本强制策略,让所有依赖都使用你项目的RN版本:
allprojects { repositories { // 保留原有仓库配置 } configurations.all { resolutionStrategy { force 'com.facebook.react:react-native:0.66.4' } } }
这样Gradle会忽略依赖库中+的版本声明,统一使用0.66.4。
方案2:降级react-native-onetrust-cmp到兼容版本
查看react-native-onetrust-cmp的版本历史,挑选明确支持RN 0.66.x的版本,修改package.json中的依赖版本:
"react-native-onetrust-cmp": "x.x.x" // 替换为兼容0.66.4的具体版本号
执行npm install或yarn install重新安装依赖。
方案3:手动修改依赖配置(临时方案)
如果找不到兼容版本,可临时修改该库的本地Gradle配置:
- 打开
node_modules/react-native-onetrust-cmp/android/build.gradle - 将
implementation 'com.facebook.react:react-native:+'改为implementation 'com.facebook.react:react-native:0.66.4' - 执行
./gradlew clean后重新构建
若要永久保留修改,可配合patch-package工具:
- 安装工具:
npm install patch-package --save-dev - 修改完Gradle文件后执行:
npx patch-package react-native-onetrust-cmp - 后续重新安装依赖时,补丁会自动生效
验证步骤
- 执行
./gradlew clean清理构建缓存 - 重新运行
./gradlew assembleDebug或通过Android Studio构建项目
内容的提问来源于stack exchange,提问作者Hans Yulian
相关产品推荐
相关产品推荐

