美文网首页Gradle构建
Gradle-初始化配置阶段优化

Gradle-初始化配置阶段优化

作者: 未见哥哥 | 来源:发表于2020-03-21 18:23 被阅读0次

1、前言

现在的开发模式大部分都是组件化的开发模式了,因此我们可以看到工程会划分很多个 module ,根据 Gradle 的构建流程来看会经历如下几个步骤:

  • 初始化阶段
  • 配置阶段
  • 执行阶段

很显然,如果我们工程项目中多了很多个 module 之后,那么每一个 module 都要经历这几个阶段,因此我们有一些优化时可以考虑考虑的

2、初始化阶段优化

我们的项目是需要划分国内国外的,并且登录,分享,支付都跟国内是不一样的,因此你看到我们工程有出现如下的 module

  • pay-国内
  • pay-国外
  • share-国内
  • share-国外
  • login-国内
  • login-国外

上面举了 6 个 module ,这些国内国外的命名只是好区分而已,实际项目肯定不会这样去命名的啦。

那么现在我们就会出现一个问题,如果我平时只是开发国内,那么我就不想国外的工程参与编译的,不然每次执行都要去执行一些无相干的 module ,浪费时间。

下面就来看看怎么优化这个初始化阶段 settings.gradle 的代码

//这里是 config.gradle
ext {
    channel = 1//我们在这里定义一个变量channel,假设1表示海外市场的包
}
//这里是 settings.gradle 文件
apply from: 'config.gradle'
def channel = extensions.getExtraProperties().properties.get('channel')
if(channel == 1){
    include ':pay-国内'
    include ':share-国内'
    include ':login-国内' 
}else {
    include ':share-国外'
  include ':pay-国外'
    include ':login-国外'
}

在 settings.gradle 做了依赖判断之后,那么之后编译运行都会根据这个 channle 按需去加载对应的 module。这样也是可以提高 gradle 编译速度的一个小点。

本文是笔者学习之后的总结,方便日后查看学习,有任何不对的地方请指正。

记录于 2020年3月21号

相关文章

网友评论

    本文标题:Gradle-初始化配置阶段优化

    本文链接:https://www.haomeiwen.com/subject/fceuyhtx.html