GitHub Actions构建APK时找不到Android Build Tools 29.0.3求助
解决GitHub Actions中sign-android-release找不到指定buildTools版本的问题
问题原因
r0adkll/sign-android-release@v1 动作默认会尝试调用旧版本Build Tools(如29.0.3)中的zipalign工具,即便你的项目配置了更高版本(33.0.0),如果运行环境未安装该默认版本,就会触发找不到目录的错误。
解决方案
1. 在环境中明确安装项目指定的Build Tools版本
在GitHub Actions脚本里,配置Android SDK时明确指定安装33.0.0版本的Build Tools:
- name: 配置Android SDK uses: android-actions/setup-android@v2 with: build-tools: "33.0.0" platforms: "android-33" # 匹配项目的compileSdkVersion
2. 给sign-android-release动作指定Build Tools版本
直接在签名步骤中通过buildToolsVersion参数指定项目使用的33.0.0版本,强制动作调用对应版本的zipalign:
- name: 签名APK uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/release signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} buildToolsVersion: "33.0.0" # 绑定项目配置的版本
3. 排查项目隐式依赖
检查project/build.gradle或其他模块的配置文件,确认没有第三方插件、依赖库隐式指定了29.0.3版本的Build Tools,若有则同步统一为33.0.0。
验证
修改完成后重新运行GitHub Actions工作流,动作会自动调用33.0.0版本的zipalign,不会再出现找不到29.0.3目录的错误。
内容的提问来源于stack exchange,提问作者Manuel Lucas
相关产品推荐
相关产品推荐

