在Android插件任务上调用doFirst

时间:2014-09-02 21:54:12

标签: android groovy gradle android-gradle build.gradle

我试图调用特定插件任务的doFirst,但我不确定它是否可能?如果是,那么正确的做法是什么?我尝试了以下

LibraryTask.doFirst {
     /*Do Something*/
     println "HELLO WORLD!!!"
}   

但没有运气。谁能告诉我这里我做错了什么?

编辑:我收到以下错误,

A problem occurred evaluating root project 'GradleTest'.
> Could not find property 'LibraryTask' on com.somepackage.SomeJavaPluginExtension_Decorated@793aac5f.

谢谢!

2 个答案:

答案 0 :(得分:0)

很难确定您的通用示例,但我认为您的问题是(与标准Gradle不同)您需要考虑Android变体。请参阅android插件用户指南的Manipulating Tasks部分

所以你可能想要做类似

的事情
android.applicationVariants.each { variant ->
        variant.libraryTask.doFirst{
         ....
        }
}

答案 1 :(得分:0)

对我来说,以下是在buildTypes下工作的,

buildTypes {
       debug { /*...*/ }
       release {/* ... */ }

       applicationVariants.all { variant ->
             // Do Something
        }
}