深入学习-Gradle-自动化构建技术(一)Gradle-核心配置

主要基于如下 三点 原因:

  • 1)、它是一个款最新的,功能最强大的构建工具,使用它我们能做很多事情。
  • 2)、使用程序替代传统的 XML 配置,使得项目构建更加灵活。
  • 3)、丰富的第三方插件,可以让我们随心所欲地使用。

3、Gradle 的构建流程

通常来说,Gradle 一次完整的构建过程通常分成如下 三个部分:

  • 初始化阶段:首先,在初始化阶段 Gradle 会决定哪些项目模块要参与构建,并且为每个项目模块创建一个与之对应的 Project 实例。
  • 配置阶段:然后,配置工程中每个项目的模块,并执行包含其中的配置脚本。
  • 任务执行:最后,执行每个参与构建过程的 Gradle task。

二、打包提速

掌握 Gradle 构建提速的技巧能够帮助我们节省大量的编译构建时间,并且,依赖模块越多且越大的项目节省出来的时间越多,因此是一件投入产出比相当大的事情。

1、升级最新的 Gradle 版本

将 Gradle 和 Android Gradle Plugin 的版本升至最新,所带来的的构建速度的提升效果是显而易见的,特别是当之前你所使用的版本很低的时候。

2、开启离线模式

打开 Android Studio 的离线模式后,所有的编译操作都会走本地缓存,毫无疑问,这将会极大地缩短编译时间。

3、配置 AS 的最大堆内存

在默认情况下, AS 的最大堆内存为 1960MB,我们可以选择 Help => Edit Custom VM Options,此时,会打开一个 studio.vmoptions 文件,我们将第二行的 -Xmx1960m 改为 -Xmx3g 即可将可用内存提升到 3GB

4、删除不必要的 Moudle 或合并部分 Module

过多的 Moudle 会使项目中 Module 的依赖关系变得复杂,Gradle 在编译构建的时候会去检测各个 Module 之间的依赖关系,然后,它会花费大量的构建时间帮我们梳理这些 Module 之间的依赖关系,以避免 Module 之间相互引用而带来的各种问题。除了删除不必要的 Moudle 或合并部分 Module 的方式外,我们也可以将稳定的底层 Module 打包成 aar,上传到公司的本地 Maven 仓库,通过远程方式依赖

5、删除Module中的无用文件

  • 1)、如果我们不需要写单元测试代码,可以直接删除 test 目录。
  • 2)、如果我们不需要写 UI 测试代码,也可以直接删除 androidTest 目录。
  • 3)、此外,如果 Moudle 中只有纯代码,可以直接删除 res 目录。

6、去除项目中的无用资源

在 Android Studio 中提供了供了自动检测失效文件和删除的功能,即 Remove Unused Resource 功能,操作路径如下所示:

右键 => 选中 Refactor => 选中Remove Unused Resource => 直接点击REFACTOR

需要注意的是,这里不需要将 Delete unused @id declarations too 选中,如果你使用了 databinding 的话,可能会编译失败

7、优化第三方库的使用

一般的优化步骤有如下 三步:

1)、使用更小的库去替换现有的同类型的三方库。

2)、使用 exclude 来排除三方库中某些不需要或者是重复的依赖。

例如,我在 Awesome-WanAndroid项目中就使用到了这种技巧,在依赖 LeakCanary 时,发现它包含有 support 包,因此,我们可以使用 exclude 将它排除掉,代码如下所示:

debugImplementation (rootProject.ext.dependencies[“leakcanary-android”]) {
exclude group: ‘com.android.support’
}
releaseImplementation (rootProject.ext.dependencies[“leakcanary-android-no-op”]) {
exclude group: ‘com.android.support’
}
testImplementation (rootProject.ext.dependencies[“leakcanary-android-no-op”]) {
exclude group: ‘com.android.support’
}

3)、使用 debugImpl

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值