集成Unity的React-Native项目Appcenter Android构建失败求助
问题原因
该错误是因为Unity导出的unityLibrary模块的build.gradle中硬编码了本地Unity编辑器绑定的NDK路径,Appcenter云构建服务器不存在该本地路径,无法找到对应NDK版本版本。
解决方案
- 第一步:确认你当前使用的Unity版本对应的官方NDK版本,Unity 2020.3.16f1对应的官方NDK版本为r19d(对应版本号为19.2.5345600)
- 第二步:修改
/android/UnityExport/unityLibrary/build.gradle中ndk.dir相关的配置,将硬编码的路径改为优先读取系统环境变量中的NDK路径:
// 替换原有的ndk.dir=xxx的硬编码配置,本地构建时使用本地Unity自带的NDK,云构建时使用系统环境变量的NDK路径 ndk.dir = System.getenv("ANDROID_NDK_HOME") ?: "/Applications/Unity/Hub/Editor/2020.3.16f1/PlaybackEngines/AndroidPlayer/NDK"
- 第三步:在Appcenter的Android构建配置页面,添加对应NDK版本的配置:
- 在「环境变量」栏添加变量
ANDROID_NDK_VERSION,值填19.2.5345600 - 或者在项目android目录下添加
appcenter-post-clone.sh预构建脚本,内容如下:
脚本添加完成后在本地执行#!/usr/bin/env bash ANDROID_NDK_VERSION="19.2.5345600" export ANDROID_NDK_HOME="/usr/local/share/android-ndk/$ANDROID_NDK_VERSION" echo "sdk.dir=/usr/local/share/android-sdk" > ./local.properties echo "ndk.dir=$ANDROID_NDK_HOME" >> ./local.propertieschmod +x android/appcenter-post-clone.sh赋予执行权限后提交到代码仓库即可。 - 在「环境变量」栏添加变量
- 第四步:确保本地的
local.properties文件没有提交到Git仓库,该文件中的路径均为本地路径,会覆盖云构建的配置。
内容的提问来源于stack exchange,提问作者souviksinha09
相关产品推荐
相关产品推荐

