我正在尝试了解gradle构建的工作原理。当我进行构建时,我看到一堆任务被执行,例如:
app:assembleDebug
app:preBuild
app:packageDebug
我想确切地看到这些任务在做什么。我认为这些是Gradle / Groovy脚本。我尝试解压缩Android Studio下的所有jar。那里有很多东西,但是我看不到任何相关内容(我可能错过了清单中的某些内容)。这些任务是否隐藏在类文件中?我看错地方了吗?
答案 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,并且根据指定的配置,它将自动创建任务。