You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Android的buildToolsVersion?GitLab CI配置文件取值方法

在Android环境中访问buildToolsVersion及GitLab CI获取方案

一、Android Gradle脚本中访问buildToolsVersion

不管你是否在Gradle脚本里显式定义buildToolsVersion,Android Gradle插件(AGP)都会自动为其设置默认值(匹配当前compileSdkVersion的兼容版本),你可以直接在Gradle脚本中获取:

Groovy DSL(build.gradle)

// 在模块级build.gradle中直接打印
println "当前Build Tools版本: ${android.buildToolsVersion}"

// 或者定义专门的输出任务
task printBuildToolsVersion {
    doLast {
        println android.buildToolsVersion
    }
}

Kotlin DSL(build.gradle.kts)

// 在模块级build.gradle.kts中直接打印
println("当前Build Tools版本: ${android.buildToolsVersion}")

// 或者定义专门的输出任务
tasks.register("printBuildToolsVersion") {
    doLast {
        println(android.buildToolsVersion)
    }
}

二、在.gitlab-ci.yml中获取未显式定义的buildToolsVersion

由于Gradle中没显式定义该值,你需要通过Gradle任务输出内容,再在CI脚本中捕获:

  1. 先在模块级Gradle脚本中添加输出任务
    按照上面的Groovy或Kotlin DSL示例,添加printBuildToolsVersion任务。

  2. 在.gitlab-ci.yml中调用任务并捕获值

stages:
  - prepare

get_build_tools_version:
  stage: prepare
  script:
    # 静默模式执行任务,仅获取输出内容
    - BUILD_TOOLS_VERSION=$(./gradlew :app:printBuildToolsVersion -q)
    - echo "获取到Build Tools版本: $BUILD_TOOLS_VERSION"
    # 后续可将该变量用于其他CI步骤,比如指定构建工具版本
  artifacts:
    reports:
      dotenv: build.env # 可选:将变量存入文件,供后续阶段复用

注意::app:是你的模块名,如果任务在根项目中可省略,或替换为实际模块路径。

内容的提问来源于stack exchange,提问作者Emre Memil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:54:11