1.14.27 配置应用程序的构建类型

优质
小牛编辑
117浏览
2023-12-01

构建类型 Build Types非常重要,在这里可以配置构建版本的一些非常重要的参数,默认有两个构建版本:debug和release。

默认的debug和release的区别只有Debugable(是否可调试),debug默认可调试,release默认不可以调试.

Name: 构建类型名称

Debugable: 是否可以调试

Jin Debuggable: Jin是否可以调试

Signing Config: 指定签名,同样是在signing中配置的,如果为空则不签名,打出来的包也是未签名过的.

Renderscript Debuggale: 是否使用渲染脚本(一种低级的高性能编程语言,用于3D渲染和处理密集型计算)

Renderscript Optim Level: Rendescript版本.

Minify Enabled: 是否混淆

Pseudo Locales Enabled: 是否支持本地化整理

Proguard File: 指定混淆文件路径

Application Id Suffix: 应用程序Id后缀

Version Name Suffix: 版本名称后缀

Zip Align Enabled: 是否支持Zip Align(字节码对齐)

新增一个构建类型:

修攺后build.gradle文件中同步修攺为:

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile\('proguard-android.txt'\), 'proguard-rules.pro'

}

bbbbb {

debuggable true

jniDebuggable true

renderscriptDebuggable true

minifyEnabled true

pseudoLocalesEnabled true

proguardFile '\/Users\/bixiaopeng\/proguard-android.txt'

applicationIdSuffix '.daily'

versionNameSuffix '\_0705'

zipAlignEnabled true

}

}

如果我们指定打某个构建类型的包可以这样指定:

打出Debug的包: .\/gradlew assembleDebug

打出Release的包: .\/gradlew assembleRelease

打出Bbbbb的包: .\/gradlew assembleBbbbb

我们试着打出Bbbbb这种类型的包:

$ ./gradlew assembleBbbbb

:app:preBuild UP-TO-DATE

:app:preBaiduBbbbbBuild UP-TO-DATE

:app:checkBaiduBbbbbManifest



...

:app:packageXiaomiBbbbb

:app:assembleXiaomiBbbbb

:app:assembleBbbbb

BUILD SUCCESSFUL

Total time: 25.301 secs

在app\/build\/output\/apk目录下就会打出相应的apk包.

解析apk,查看包名和版本号跟我们配置的一致.

~$ aapt d badging /Volumes/FirstApp/app/build/outputs/apk/app-baidu-bbbbb-unsigned.apk

package: name='com.baidu.firstapp.daily' versionCode='1' versionName='1.0_0705'

sdkVersion:'8'

targetSdkVersion:'22'

....

Project Structure中没有的配置但buildTypes中支持的属性还有很多,我们举个例子:



// 显示Log

buildConfigField "boolean", "LOG_DEBUG", "true"

// 移除无用的resource文件,minifyEnabled必须为true

shrinkResources true