buildTypes——安卓gradle

本文详细介绍了安卓Gradle中的buildTypes和buildType,包括它们的配置参数和方法,如applicationIdSuffix、consumerProguardFiles、debuggable等,并探讨了它们在不同构建类型中的应用,如debug和release。此外,还解释了如何处理buildType冲突和多 dex 设置,以及buildConfigField和resValue的使用方法。
摘要由CSDN通过智能技术生成

目录
一、前言
二、buildTypes
三、buildType
1、buildTypes存在形式
2、buildTypes 中属性的意义
3、buildTypes 中方法的意义
四、写在最后

一、前言

上一篇博客 分享了defaultConfig 中可配置参数的含义,今天我们来分享另一个我们也很熟悉的 buildTypes

二、buildTypes

buildTypes 也是存在于每个应用级模块中的 android 下的,即如下所示,是每次构建完项目之后自动生成的结构。

android {
	buildTypes{
		release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
	}
}

buildTypes 可以配置我们需要的构建类型,例如我们常用到的 “测试类型” 和 “本地类型”,则可以使用如下配置

buildTypes{
	// 发布类型
	release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    // 测试类型,给测试人员
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    // 本地类型,和后端联调使用
    local {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

增加完这些配置后,我们可以在 android studio 看到多了 “debug” 和 “local” 两个可以构建的类型,在 “点击运行” 时,便会使用我们所选择的构建类型。假设此时选择的是 “debug” 类型,我们此时运行代码,则是 debug 下的配置参数。

当然运行编译成 apk 时,也不例外,各自使用的也是各自类型的配置。

而这里所说的 “release”,“debug”,“local”,三个构建类型其实便是三个 buildTypebuildType 所能配置的参数便是我们今天要来捋清楚的。

三、buildType

buildType 官方文档传送门

1、buildType存在形式

从上一篇博客我们知道,每个配置最终会被映射为一个类,或是一个属性、或一个方法。buildType 也不例外,他会被映射为 com.android.build.gradle.internal.dsl.BuildType,继承结构如下

BuildType
在Android开发中,Gradle是一个自动化构建工具,它在构建Android应用时扮演了重要角色。`buildTypes`是Gradle脚本中的一个配置部分,用于定义不同的构建类型,如Debug和Release。每种构建类型可以有自己的配置选项,包括是否启用代码压缩、是否签名以及签名的具体配置等。 `debug`是`buildTypes`中预定义的一种类型,用于开发和测试阶段。Debug构建类型通常不进行代码混淆,方便开发者进行调试。Debug构建的APK默认是可调试的,且签名配置默认是不需要指定的,因为Gradle会自动为Debug类型生成一个调试密钥库。 `signingConfig`是一个签名配置的集合,用于控制应用的签名过程。一个`signingConfig`可以包含密钥库路径、密钥库密码、密钥别名以及密钥密码等信息。在Gradle中配置`signingConfig`能够确保你的应用在发布前经过正确的签名过程。 配置`signingConfig`时,你可以为不同的构建类型指定不同的签名配置。例如,你可能会为Release版本指定一个真实的密钥库和密钥密码,而对于Debug版本则保持默认的调试密钥库配置。 以下是一个简单的Gradle配置示例,展示了如何定义Debug构建类型和签名配置: ```groovy android { ... signingConfigs { debug { storeFile file('debug.keystore') // 默认的调试密钥库文件 storePassword 'android' // 默认的调试密钥库密码 keyAlias 'androiddebugkey' // 默认的调试密钥别名 keyPassword 'android' // 默认的调试密钥密码 } } buildTypes { debug { signingConfig signingConfigs.debug // 其他Debug构建类型的配置,如是否进行代码压缩等 } release { signingConfig signingConfigs.debug // 在实际开发中,通常会为Release类型指定不同的签名配置 // Release构建类型的配置,如关闭调试模式,启用代码混淆和压缩等 } } ... } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值