Android Studio:在哪里定义Gradle构建任务?

时间:2018-07-24 14:15:41

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

我正在尝试了解gradle构建的工作原理。当我进行构建时,我看到一堆任务被执行,例如:

app:assembleDebug
app:preBuild
app:packageDebug

我想确切地看到这些任务在做什么。我认为这些是Gradle / Groovy脚本。我尝试解压缩Android Studio下的所有jar。那里有很多东西,但是我看不到任何相关内容(我可能错过了清单中的某些内容)。这些任务是否隐藏在类文件中?我看错地方了吗?

1 个答案:

答案 0 :(得分:3)

所有这些任务都是由Gradle Android插件创建的,无论是库版本(SELECT distinct(user_id) FROM my_table INNER JOIN (SELECT event_id FROM my_table WHERE event_date > '2018-03-01' AND event_date <'2018-03-30') WHERE creation_date < '2018-01-01' AND country DISTINCT FROM (SELECT country FROM my_table WHERE event_date > '2018-03-01' AND event_date <'2018-03-30') )还是应用程序版本(com.android.library)。您可以在this repository中找到这些插件的源代码。

但是,可能很难了解每个任务,因为其中一些任务可能是通过Android插件的自定义任务类型实现的,其他任务可能只是常规配置的Gradle任务。另外,任务的配置可能会分散在多个文件中,因为其中许多文件可能是动态创建的。

但是,我认为,不必知道每个任务的确切功能,相反,您应该专注于Android开发和Gradle插件的基本概念,例如build types and variants。 Android插件提供了特定的DSL,并且根据指定的配置,它将自动创建任务。