我有一个android gradle项目,我正在尝试配置 buildTypes 。以下是我build.gradle
的一部分:
android {
...
buildTypes {
debug {
println("inside debug...")
}
release {
println("inside release...")
}
}
...
}
当我从终端运行 assembleDebug 任务时,我得到输出:
inside debug...
inside release...
为什么发布块会被打印出来?在执行assembleDebug任务时,如何仅打印调试块,在执行assembleRelease任务时仅打印释放块,该怎么办?
我对android和gradle都很新,所以任何帮助都会很棒。
答案 0 :(得分:3)
简单的答案是:他们不是。
Gradle(它是一种简化)分为两个阶段:配置和执行。在配置阶段,将评估整个脚本 - 这就是您添加的println
语句确实在输出中出现的原因。
要验证是否运行了发布和调试任务,请添加以下代码:
assembleDebug << {
println 'debug run'
}
assembleRelease << {
println 'release run'
}
使用<<
添加一个操作,该操作将在任务运行时执行。操作在执行阶段运行。