架构师学习--组件化开发之Gradle配置

Gradle其实是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。其实AS默认就为我们的app完成构建,并且每一个module的构建过程都是大同小异的,那么我们就可以提取共同点,比如公共的第三方库等,并且在组件化开发中必然离不开它。

一、公共配置config.gradle

创建一个工程,默认会构建app,在当前工程根目录下,新建config.gradle文件,代码如下:

ext {

    //定以变量,决定当前环境是集成环境还是组件化环境
    //集成环境:把所有的module作为library打包到app中,不可单独运行
    //组件化环境:就是可以单独运行的module
    isRelease = true

    // 包名,用于存放APT生成的类文件
    packageNameForAPT = "com.xinyartech.modulardemo.apt"

    //配置defaultConfig下的信息
    versionConfig = [
            "compileSdkVersion": 28,
            "buildToolsVersion": "29.0.0",
            "minSdkVersion"    : 15,
            "targetSdkVersion" : 28,
            "versionCode"      : 1,
            "versionName"      : "1.0"
    ]

    //配置appId 就是applicationId
    appId = [
            "app"     : "com.xinyartech.modulardemo",
            "main"    : "com.xinyartech.main",
            "personal": "com.xinyartech.personal"
    ]

    supportLibrary = "28.0.0"

    //测试版本和发布版本url地址
    url = [
            "debug"  : "http://www.baidu.com",
            "release": "http://www.google.com"
    ]

    //配置第三方依赖
    dependencies = [
            "appcompat"   : "com.android.support:appcompat-v7:$supportLibrary",
            "recyclerview": "com.android.support:recyclerview-v7:${supportLibrary}",
            "constraint"  : "com.android.support.constraint:constraint-layout:1.1.3"
    ]


}

大致分为几个模块:

  1. isRelease:表示当前环境是集成化环境还是组件化环境,正式版本是集成化环境,值为true。开发过程中可以切换环境,方便测试
  2. versionConfig:全局配置当前sdk版本和app版本
  3. url:配置正式版本和测试版本服务器地址
  4. dependencies :配置依赖库

二、新建子模块modlue

这里新建子模块personal。在它的build.gradle中可以引用上面的配置,分为几个部分,截图说明。

1、集成化环境和组件化环境的切换

第一处
第二处
第三处

2、配置SDK版本和app版本号等

在这里插入图片描述
注意这里需要经isRelease配置到系统的BuildConfig文件中。只有这样我们才能在Java代码中使用BuildConfig.isRelease

2、配置本地依赖库和第三方依赖库等

在这里插入图片描述
在这里插入图片描述
使用最简单的方式进行引用第三方库

三、app配置

app模块可以看成是应用程序的主模块,我们可以在里面创建业务逻辑,也可以不作任何操作,所有的工作都交给子模块即可。它的配置和module相同点同样需要配置buildConfig,以及第三方依赖库。不同点就是在依赖module的时候,如下截图:
在这里插入图片描述
只有在集成化环境module作为library才能依赖,否则module作为可独立运行的app是不能依赖的。

以上就完成了基础gradle的配置。除了这些还有其他的一些gradle常用配置。

四、其他gradle配置

1、开启分包

在defaultConfig节点下,加上如下配置
在这里插入图片描述

2、svg使用v7包兼容

在这里插入图片描述

3、只保留指定和默认资源,减小apk体积

在这里插入图片描述

4、配置so库CPU架构(真机:arm,模拟器:x86)

在这里插入图片描述

5、源集 - 设置源集的属性,更改源集的 Java 目录或者自由目录等

在这里插入图片描述

6、签名配置(隐形坑:必须写在buildTypes之前)

在android节点下
在这里插入图片描述

7、AdbOptions 可以对 adb 操作选项添加配置

在这里插入图片描述

8、对 dx 操作的配置,接受一个 DexOptions 类型的闭包,配置由 DexOptions 提供

在这里插入图片描述

9、执行 gradle lint 命令即可运行 lint 检查,默认生成的报告在 outputs/lint-results.html 中

在这里插入图片描述

10、配置JDK版本

在这里插入图片描述

11、配置apk名称

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值