Android+gradle:将任务注入构建

Android+gradle:将任务注入构建,android,gradle,android-studio,android-gradle-plugin,Android,Gradle,Android Studio,Android Gradle Plugin,我有一个在source.java和AndroidManifest.xml上运行的自定义脚本。 我想在assembleRelease任务开始时执行这个脚本作为gradle构建过程的一部分,可能就在app:preBuild之后 你知道我该怎么做吗 我知道我可以这样做来执行脚本: task DoStuff(type:Exec) { workingDir 'path/to/script' commandLine 'python3', 'do_stuff.py' } 但我不确定该放在哪

我有一个在source.java和AndroidManifest.xml上运行的自定义脚本。 我想在assembleRelease任务开始时执行这个脚本作为gradle构建过程的一部分,可能就在app:preBuild之后

你知道我该怎么做吗

我知道我可以这样做来执行脚本:

task DoStuff(type:Exec) {
    workingDir 'path/to/script'
    commandLine 'python3', 'do_stuff.py'
} 

但我不确定该放在哪里,等等。

您可以使用doFirst方法向assembleRelease添加自定义操作:

或定义依赖项:

assembleRelease.dependsOn DoStuff
assembleRelease.mustRunAfter DoStuff //this might be redundant

德彭森回答得很好,谢谢!还使用assembleRelease.finalizedBy在任务后运行stuff如果我使用flavors怎么办?这些行应该添加到afterEvaluate内部,就像afterEvaluate{bundleReleaseAar.finalizedBy DoStuff}
assembleRelease.dependsOn DoStuff
assembleRelease.mustRunAfter DoStuff //this might be redundant