通常情况下,默认编译类型的配置
android { //... buildTypes { //正式版本 release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } //开发版本 debug { ext.enableCrashlytics = false } } //... }
此时,如果想尝试增加混淆操作,但又不能轻易在release编译类型上直接新增混淆配置,所以需要增加一种编译类型,其基本编译配置与release一模一样,但是新增了混淆的设置,假设命名为minify
android { //... buildTypes { //正式版本 release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } //新增的类型 minify{ //开启混淆 minifyEnabled true //删除无用资源 shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } //开发版本 debug { ext.enableCrashlytics = false } } //... }
这种情况下,将项目编译一下,便会发现一下问题提示,并且默认编译类型选择了debug
以上编译类型并不符合我们所需要的编译设置,通过查阅官方文档后,发现一设置项matchingFallbacks
官方介绍
添加之后如下:
android { //... buildTypes { //正式版本 release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } //新增的类型 minify{ minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config //指定后备构建类型的排序列表 //当依赖项不包含当前的构建类型 //可以指定与作为备用的构建类型顺序 matchingFallbacks = ['release'] } //开发版本 debug { ext.enableCrashlytics = false } } //... }
将项目重新同步一下之后,如下:
经过以上操作,在buildVariant的工具栏内便会按照设置的顺序在依赖项内进行编译版本选择,至此,新增编译类型的问题已解决
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/892273.html