我希望在Github Actions工作流中缓存Android NDK。原因是我需要特定版本的NDK和CMake,而这些在MacOS runners上没有预安装。
我尝试使用以下工作流程作业来实现:
jobs:
build:
runs-on: macos-latest
steps:
- name: Cache NDK
id: cache-primes
uses: actions/cache@v1
with:
path: ${{ env.ANDROID_NDK_HOME }}
key: ${{ runner.os }}-ndk-${{ hashFiles(env.ANDROID_NDK_HOME) }}
- name: Install NDK
run: echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "ndk;21.0.6113669" "cmake;3.10.2.4988404"
这个问题的关键在于env
上下文中不包含ANDROID_NDK_HOME
变量。这意味着build.steps.with.path
会被计算为空。如果我使用以下步骤进行调试,则存在常规环境变量并打印出正确的路径:
jobs:
build:
steps:
- name: Debug print ANDROID_NDK_HOME
run: echo $ANDROID_NDK_HOME
但是根据我的理解,普通环境变量只能在shell脚本中使用,不能在build.steps.with
中使用。
echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install 'ndk;21.0.6113669'
进行安装,这对我很有效,我不需要创建其他文件夹。 - Lukas1