Android之Gradle多Module常见配置修改和优化

本文详细介绍了Android项目中Gradle的生命周期、应用场景、常见Tasks以及多Module配置和优化。内容涵盖全局build.gradle配置、非主Module配置、主Module配置、Module发布组件的流程,帮助开发者更好地理解和管理Android项目构建。
摘要由CSDN通过智能技术生成

1.Gradle生命周期?

参考:Android之Gradle构建生命周期_Tiger的专栏-CSDN博客

2.Gradle应用场景有哪些?

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。 面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。

3.Project下常见执行gradle下的Tasks?

gradle会给我们插入许多适用于Android的gradle task,我们点击IDE,右边的Gradle图标查看;

 双击tasks任务查看gradle已经支持的任务:

以下提供了这些官方gradle task的介绍

Android tasks
-------------
androidDependencies - 显示项目的Android依赖项。
signingReport - 显示每个渠道包的签名信息。
sourceSets - 打印出此项目中定义的所有资源。

Build tasks (打包时用的比较多)
-----------
assemble - 打包所有应用程序和依赖的所有渠道包。
assembleAndroidTest - 打包所有测试类型的应用程序。
assembleDebug - 打包所有Debug版本
assembleRelease - 打包所有Release版本
build - 打包所有,包括测试项内容
buildDependents - 打包并测试该项目以及它的所有的依赖项。
buildNeeded - 同上。
clean - 删除构建目录
cleanBuildCache - 删除构建的缓存目录。
mockableAndroidJar - 创建一个适合单元测试的android.jar版本。

Help tasks
----------
buildEnvironment - 显示在项目':app'中声明的所有buildscript依赖项。
components - 显示项目':app' components的组件。 
dependencies - 显示项目':app'中声明的所有依赖项。
dependencyInsight - 显示对项目':app'中特定依赖项的观察。
dependentComponents - 显示项目':app'中组件的相关组件。
help - 显示帮助消息。
model - 显示项目':app'的配置模型。
projects - 显示项目':app'的子项目。
properties - 显示项目':app'的配置项。
tasks - 显示项目':app'所有可运行的task。

Install tasks
-------------
installDebug -  安装Debug版本。
installDebugAndroidTest - 为Debug版本安装android(在设备上)测试。
uninstallAll - 卸载所有应用程序。
uninstallDebug - 卸载Debug版本。
uninstallDebugAndroidTest - 卸载Debug版本的android(在设备上)测试。
uninstallRelease - 卸载发布版本。

Verification tasks (校验项)
------------------
check - Runs all checks.
connectedAndroidTest - Installs and runs instrumentation tests for all flavors on connected devices.
connectedCheck - Runs all device checks on currently connected devices.
connectedDebugAndroidTest - Installs and runs the tests for debug on connected devices.
deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers.
deviceCheck - Runs all device checks using Device Providers and Test Servers.
lint - Runs lint on all variants.
lintDebug - Runs lint on the Debug build.
lintRelease - Runs lint on the Release build.
lintVitalRelease - Runs lint on just the fatal issues in the release build.
test - Run unit tests for all variants.
testDebugUnitTest - Run unit tests for the debug build.
testReleaseUnitTest - Run unit tests for the release build.

当然,task的数量会根据你所依赖的库增加,如果要使用某个task,可以先运行一下help下的task进行查看。

4.多模块Gradle常见配置有哪些?

4.1根目录下全局build.gradle配置FloatWindowL/build.gradle

  • buildscript{}闭包里是gradle脚本执行所需依赖,分别是对应的maven库和插件;
  • allprojects{}闭包里是项目本身需要的依赖,比如项目所需要的maven库;
  • task clean(type: Delete){}是运行gradle clean时,执行此处定义的task任务,该任务继承自Delete,删除根目录中的build目录;其中buildscript包含repositories闭包和dependencies闭包;

全局build.gradle配置分为三部分:

buildscript{}闭包

buildscript {  //gradle脚本执行所需依赖,分别是对
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值