GitHub Action构建Android AAB时提示SDK许可未接受该如何解决?
问题原因
- 执行
sdkmanager --licenses时报错找不到文件,是因为GitHub托管的Ubuntu运行器的Android SDK默认安装路径为/usr/local/lib/android/sdk,而非本地开发常用的~/Android/Sdk用户目录路径 - 构建失败的核心原因是Android SDK Build-Tools 32-rc1的使用许可未被系统自动接受
解决方案
方案一:直接修正命令路径
直接修改构建步骤的执行脚本,使用运行器预设的ANDROID_SDK_ROOT环境变量定位sdkmanager工具,执行许可证同意操作:
- name: build-with-gradle id: build run: | chmod +x gradlew yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null ./gradlew build
方案二:使用专用Action配置Android环境(更稳定)
在JDK配置步骤后新增Android SDK配置步骤,通过成熟的第三方action自动处理许可证、环境变量配置等问题,避免手动处理路径导致的兼容性问题:
- name: set up JDK 11 id: Setup_JDK uses: actions/setup-java@v1 with: java-version: 11 # 新增以下步骤 - name: Setup Android SDK uses: android-actions/setup-android@v2 - name: build-with-gradle id: build run: | chmod +x gradlew ./gradlew build
可选优化
如果你的项目没有强制依赖32.0.0-rc1版本的构建工具,可以将项目根目录下app模块的build.gradle文件中的buildToolsVersion参数修改为正式稳定版本,避免预览版工具带来的各类兼容性问题。
内容的提问来源于stack exchange,提问作者Hussien Fahmy
相关产品推荐
相关产品推荐

