Azure Pipeline执行Android项目Gradle构建时local.properties缺失如何解决
修复方案
核心逻辑是:local.properties是本地开发环境生成的配置文件,被加入.gitignore后CI环境拉取代码后默认不存在,你只需要在Gradle构建任务执行前,主动在CI运行环境的项目根目录生成该文件即可。
具体操作步骤
- 编辑你当前使用的Pipeline yaml配置,在gradle构建任务之前新增如下Bash任务:
- task: Bash@3 inputs: targetType: 'inline' script: | # 写入Android SDK路径,Azure官方Runner的SDK路径默认存在ANDROID_HOME环境变量中 echo "sdk.dir=$ANDROID_HOME" > local.properties # 若项目依赖NDK,可追加NDK路径配置 echo "ndk.dir=$ANDROID_NDK_HOME" >> local.properties workingDirectory: '$(Build.SourcesDirectory)'
- 若你使用的是Windows Runner,替换为PowerShell任务即可:
- task: PowerShell@2 inputs: targetType: 'inline' script: | Set-Content -Path local.properties -Value "sdk.dir=$env:ANDROID_HOME" workingDirectory: '$(Build.SourcesDirectory)'
验证说明
新增任务后重新运行Pipeline,系统会在构建前自动生成符合CI环境配置的local.properties文件,即可解决文件找不到的报错。如果你的Android项目存放在仓库子目录下,只需将workingDirectory参数的值修改为项目根目录对应的路径即可。
内容的提问来源于stack exchange,提问作者BabyishTank
相关产品推荐
相关产品推荐

