React Native Android构建失败:指定Kotlin编译任务执行失败
解决React Native安卓构建时
:invertase_react-native-apple-authentication:compileDebugKotlin失败问题 常见原因及修复方案
1. Kotlin版本不兼容
该库对Kotlin版本有特定要求,若项目根目录build.gradle中的Kotlin版本与库要求不匹配,会直接导致编译失败。
- 操作:
- 确认库所需的Kotlin版本(可查看库的README或gradle配置文件)
- 修改项目根
build.gradle中的ext.kotlin_version为兼容版本,示例:buildscript { ext { kotlin_version = "1.8.22" // 替换为符合要求的版本 } // 其他配置保持不变 } - 清理缓存并重建:
./gradlew clean && ./gradlew assembleDebug
2. Android Gradle插件(AGP)版本不匹配
AGP与Kotlin版本存在兼容对应关系,版本不匹配会引发编译冲突。
- 操作:
- 确认AGP与当前Kotlin版本的兼容组合(如Kotlin 1.8.x需搭配AGP 7.4及以上版本)
- 更新根
build.gradle中的AGP版本:buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.2") // 替换为兼容版本 } }
3. 依赖缓存损坏或冲突
本地Gradle缓存损坏、其他依赖与该库存在冲突,都会导致编译失败。
- 操作:
- 清理Gradle缓存:
./gradlew cleanBuildCache - 删除项目根目录下的
.gradle文件夹和android/build文件夹 - 重新安装依赖:
yarn install(或npm install)后重新执行构建
- 清理Gradle缓存:
4. 库版本与React Native版本不兼容
react-native-apple-authentication的版本需与当前React Native版本匹配,版本不匹配会出现编译错误。
- 操作:
- 查看库的版本兼容说明(如RN 0.70+需使用库的最新稳定版)
- 调整库版本:
yarn add @invertase/react-native-apple-authentication@x.x.x # 指定兼容版本号 - RN 0.60+无需手动链接,旧版本可执行
npx react-native link @invertase/react-native-apple-authentication
5. 安卓SDK组件缺失
编译所需的SDK版本、构建工具未安装,会导致编译任务失败。
- 操作:
- 打开Android Studio的SDK Manager,安装项目
android/build.gradle中指定的compileSdkVersion、targetSdkVersion对应的SDK,以及匹配的构建工具版本 - 同步项目后重新构建
- 打开Android Studio的SDK Manager,安装项目
进一步排查
执行./gradlew compileDebugKotlin --stacktrace获取完整报错栈信息,定位具体错误点(如代码语法错误、特定依赖缺失),针对性修复。
内容的提问来源于stack exchange,提问作者mahdi souilmi
相关产品推荐
相关产品推荐

