将React Native集成到现有Android项目时构建报错求助
解决React Native集成现有Android项目时CLI无法识别配置的构建异常
从你给出的错误日志和配置文件来看,这个问题主要是React Native CLI版本不兼容、gradle配置路径错误以及gradle版本不匹配导致的,我给你一步步梳理解决方案:
1. 修正React Native CLI与RN版本的兼容性
你的RN版本是0.61.5,但使用的@react-native-community/cli-platform-android是3.0.3,这个版本组合存在兼容性问题——0.61.x系列的RN对应的CLI平台插件版本应该是2.9.0左右。
修改你的package.json依赖:
{ "name": "MyApp", "version": "0.0.1", "private": true, "scripts": { "start": "yarn react-native start" }, "dependencies": { "@react-native-community/cli-platform-android": "^2.9.0", "react": "^16.9.0", "react-native": "^0.61.5" } }
修改后执行yarn install或npm install重新安装依赖。
2. 修正app/build.gradle中native_modules.gradle的引用路径
你在android/app/build.gradle中写的路径是../../node_modules/...,但从项目路径来看,你的android目录是在react-native项目根目录下,app是android的子目录,所以../../会跳到react-native的父目录,而你的node_modules是在react-native目录下,路径完全错误。
把这一行:
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle");
改成:
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle");
3. 调整Gradle插件与Wrapper版本到RN推荐值
RN 0.61.5推荐使用Gradle插件3.5.3和Gradle Wrapper5.4.1,你当前用的4.0.1版本过高,会导致兼容性问题:
- 修改
android/build.gradle中的buildscript依赖:
buildscript { repositories { google() jcenter() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' } }
- 修改
gradle/wrapper/gradle-wrapper.properties中的distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
4. 优化依赖配置(可选但推荐)
把android/app/build.gradle中RN依赖的版本从+改为固定版本,避免自动升级带来的冲突:
implementation "com.facebook.react:react-native:0.61.5"
5. 清理缓存并重新构建
完成以上修改后,执行以下操作:
- 在Android Studio中点击
File -> Invalidate Caches / Restart,重启IDE - 打开终端,进入项目的
android目录,执行:
./gradlew clean
然后重新构建项目。
内容的提问来源于stack exchange,提问作者muratoner
相关产品推荐
相关产品推荐

