Android项目中/app/build/、/service/build/文件夹对应的变量是什么?
Android模块级build目录的正确变量引用方式
针对你的需求,要获取Android项目中/app/build/或/service/build/这类模块级别的build目录,正确的处理方式如下:
在模块Gradle脚本内直接使用:每个模块(app/service)的
buildDir变量本身就指向该模块的build文件夹。比如在app/build.gradle里,buildDir对应的就是/app/build/,service/build.gradle里则对应/service/build/,无需额外拼接路径。在根项目脚本中引用模块build目录:如果需要在根项目的
build.gradle里获取某个模块的build路径,要明确指定模块,比如:// 获取app模块的build目录 project(':app').buildDir // 获取service模块的build目录 project(':service').buildDir在Jenkins任务中获取路径:若要在Jenkins里直接拿到对应模块的build目录路径,推荐通过Gradle命令输出:
- 执行Gradle属性命令查看指定模块的buildDir:
把./gradlew :app:properties | grep buildDir:app:换成:service:就能获取服务模块的路径。 - 或者自定义Gradle任务输出路径:
在对应模块的build.gradle中添加:
然后在Jenkins里执行task showBuildDir { doLast { println "模块build目录:${buildDir.absolutePath}" } }./gradlew :app:showBuildDir或:service:showBuildDir,捕获输出内容即可。
- 执行Gradle属性命令查看指定模块的buildDir:
你之前尝试的${project.buildDir}未成功,大概率是因为在根项目上下文里,project指向的是根项目本身,而非子模块,所以无法获取到模块级的build目录。
内容的提问来源于stack exchange,提问作者Denis Jung
相关产品推荐
相关产品推荐

