Android Studio更新后React Native安卓应用无法运行求助
解决Gradle升级后React Native安卓构建的Kotlin冲突与编译失败问题
统一Kotlin Gradle插件版本
不同第三方RN库(比如react-native-alarm-clock、react-native-webview)各自引入不同版本的Kotlin插件是冲突根源,必须强制项目全局统一版本:
- 打开项目根目录的
build.gradle(RN 0.70+版本请查看settings.gradle里的dependencyResolutionManagement块) - 添加全局版本配置:
buildscript { ext { kotlinVersion = "1.8.22" // 选择与你的Gradle版本兼容的Kotlin版本,Gradle 8.0+建议用1.8.x } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } } // 针对RN 0.70+的版本管控方式 dependencyResolutionManagement { repositories { ... } versionCatalogs { libs { version("kotlin", "1.8.22") plugin("kotlin-android", "org.jetbrains.kotlin.android").versionRef("kotlin") } } } - 在app模块的
build.gradle中同步版本声明:plugins { id "com.android.application" id "org.jetbrains.kotlin.android" version rootProject.ext.kotlinVersion apply false // 其他插件(如React Native)... }
修复:invertase_react-native-apple-authentication编译失败
这个问题大多是该库未使用统一的Kotlin版本导致,按以下步骤处理:
- 在根目录
build.gradle中强制该库使用项目统一版本:subprojects { if (name.startsWith('invertase_react-native-apple-authentication')) { buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$rootProject.ext.kotlinVersion" } } } } - 执行清理命令重置缓存:
./gradlew clean rm -rf node_modules && npm install rm -rf ~/.gradle/caches
排查第三方库的Kotlin依赖
确认react-native-alarm-clock和react-native-webview的Kotlin依赖是否合规:
- 运行
./gradlew app:dependencies查看依赖树,找到这两个库引入的Kotlin插件版本,确保和全局版本一致。 - 如果库本身硬编码了旧版本,优先升级库到最新兼容版;无法升级的话,在根
build.gradle中强制覆盖:configurations.all { resolutionStrategy { force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" force "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } }
额外提示
- 务必保证Gradle与Kotlin版本兼容:比如Gradle 7.x对应Kotlin 1.5.x+,Gradle 8.x对应Kotlin 1.8.x+,可参考官方的版本兼容对应关系。
- Android Studio同步项目时,若提示更新Kotlin版本,直接选择统一到项目配置的版本即可。
内容的提问来源于stack exchange,提问作者Muhammad Saqib Noor
相关产品推荐
相关产品推荐

