React Native 0.63.3 AppCenter Android构建NDK工具链错误咨询
构建失败报错信息
AppCenter平台执行Android项目构建时触发失败,错误日志如下:
No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
关联环境配置
- React Native:0.63.3
- Android Gradle Plugin:
classpath 'com.android.tools.build:gradle:3.5.4' - Gradle:
https\://services.gradle.org/distributions/gradle-6.2-all.zip
故障原因
该报错由NDK版本与Android Gradle Plugin(以下简称AGP)版本不兼容导致:
- 从NDK r23版本开始,Google彻底移除了旧的GCC架构工具链,原
arm-linux-androideabi前缀的工具链目录被删除,统一替换为基于LLVM的工具链。 - 当前使用的AGP 3.5.4版本发布时间早于NDK r23,默认会查找旧前缀的GCC工具链,无法识别新版NDK的目录结构。AppCenter云构建环境默认预装最新版NDK,因此触发找不到工具链的报错。
修复方案
可根据项目实际情况选择以下任意一种方案修复:
方案1:固定兼容版本NDK(推荐,对现有项目改动最小)
选择和AGP3.5.4完全兼容、仍保留旧工具链的NDK r21e(版本号21.4.7075529)作为构建使用的NDK版本:
- 打开项目
android/build.gradle文件,在全局android配置块中指定NDK版本:
android { ndkVersion "21.4.7075529" // 保留原有其他配置 }
- 检查
android/app/build.gradle文件,若存在单独配置的ndkVersion字段,统一修改为上述版本号,避免版本冲突。 - 提交代码后重新触发AppCenter构建即可,构建时会自动下载对应版本的NDK使用,不会再出现工具链找不到的问题。
方案2:升级AGP版本适配高版本NDK
将AGP版本升级到4.0.1及以上,高版本AGP已经适配NDK r23+的LLVM工具链结构,不会再查找旧前缀的工具链目录。
注意升级AGP时需要匹配对应支持的Gradle版本,当前使用的Gradle 6.2可以兼容AGP 4.0.x版本;由于项目基于React Native 0.63.3,升级AGP后需要同步检查部分原生依赖的配置,避免出现编译兼容问题。
方案3:临时软链接适配(不推荐)
如果必须使用高版本NDK,可在构建阶段执行脚本,在NDK的toolchains目录下创建软链接,将llvm目录映射为arm-linux-androideabi名称。但该方案属于非常规适配手段,AppCenter每次构建都会重置环境,需要额外编写构建前置脚本执行操作,后续容易出现其他编译兼容问题,不建议长期使用。
内容的提问来源于stack exchange,提问作者TillyJonesy
相关产品推荐
相关产品推荐

