天天看点

Android gradle 中使用 buildType

    • What
    • Why
    • How
      • 构建类型中可以定义的属性
      • buildTypes的使用位置
      • 一些使用技巧
        • 通过buildConfigField配置通用属性
        • 添加包名后缀

What

buildType

顾名思义:构建类型。在Android Studio中Android项目默认构建工具是gradle,而项目在建立是就存在了两种构建类型:

debug

release

.

Why

使用

buildType

来指定Andrioid项目的构建类型,可以根据不同的构建类型选取不同的签名文件,不同的

Manifest

文件、混淆配置等等,达到通过更改构建类型来创建不同的APK的效果。

How

构建类型中可以定义的属性

属性名称 debug默认值 release默认值 其他构建类型默认值
debuggable true false false
jniDebuggable false false false
renderscriptDebuggable false false false
renderscriptOptimLevel 3 3 3
applicationIdSuffix null null null
versionNameSuffix null null null
signingConfig android.signingConfigs.debug null null
zipAlignEnabled false true true
minifyEnabled false false false
proguardFile N/A (set only) N/A (set only) N/A (set only)
proguardFiles N/A (set only) N/A (set only) N/A (set only)

buildTypes的使用位置

一般用在

app-level

下的build.gradle文件下

android {
    compileSdkVersion 
    buildToolsVersion "26.0.0"
    defaultConfig {
        ...
    }
    buildTypes {
        release {
            minifyEnabled false
            buildConfigField "String", "BUILD_STRING", "\"release\""
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug{
            minifyEnabled false
            buildConfigField "String", "BUILD_STRING", "\"debug\""
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    }

}
           

一些使用技巧

1.通过

buildConfigField

配置通用属性

可以在代码中通过

BuildConfig

来调用

//设置属性名为BUILD_STRING值为release的属性,注意需要使用\"定义字符串
buildConfigField "String", "BUILD_STRING", "\"release\""
//定义boolean类型数据
buildConfigField "boolean", "IS_OK", "false"
//定义int类型数据
buildConfigField "int", "NUM", "0"
           

2.添加包名后缀