我正在尝试了解 gradle 构建的工作原理。当我进行构建时,我看到执行了一堆任务,例如:
app:assembleDebug
app:preBuild
app:packageDebug
我想看看这些任务到底在做什么。我假设这些是 Gradle/Groovy 脚本。我尝试解压缩 Android Studio 下的所有 jars。那里有很多东西,但我没有看到任何相关的东西(我可能在大量列表中遗漏了一些东西)。这些任务是否隐藏在类文件中?我找错地方了吗?
最佳答案
所有这些任务都是由 Gradle Android 插件创建的,无论是库版本 ( com.android.library
) 还是应用程序版本 ( com.android.application
)。您可以在 this repository 中找到这些插件的源代码。 .
但是,可能很难深入了解每个任务,因为其中一些任务可能由 Android 插件的自定义任务类型实现,其他可能只是常规配置的 Gradle 任务。此外,任务的配置可能分布在多个文件中,因为其中许多文件可能是动态创建的。
但是,在我看来,没有必要知道每个任务的确切功能,而应该专注于 Android 开发和 Gradle 插件的基本概念,例如build types and variants . Android 插件提供了一个特定的 DSL,根据指定的配置,它会自动创建任务。
关于android-studio - 安卓工作室 : Where are Gradle build tasks defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500935/