Android 开发 buildtype配置

Android stuido 关于buildTypes的配置
最近公司接了很多项目,测试包、正式包每天要打很多遍,但是正式包是要关闭日志的,所以上网学了buildTypes。

1>首先,这个信息是在module文件下的build.gradle文件下配置,不管是我们要运行的app,还是依赖的library,都可以单独配置。

android{
buildTypes {
        release {
             buildConfigField "Boolean", "LOG_DEBUG", "false"
        }
        debug {
             buildConfigField "Boolean", "LOG_DEBUG", "true"
        }
    }
}

buildConfigField方法需要传递3个参数,(“type”,“name”,“value”)第一个参数是类型,目前测试过int,String和Boolean,大小写要注意,不然会报错,后面2个参数是自己定义的。3个参数都需要用双引号包起来,如果是字符串,第3个参数需要在加上单引号。

   buildConfigField "String", "other_name", ' "测试buildTypes" '

在build sync后,可以在对应module的BuildConfig类下找到自己设置的参数。该类在build文件下可以找到。
这里写图片描述

public final class BuildConfig {
  public static final Boolean IS_DEBUG = false;
  public static final String other_name =  "测试buildTypes" ;
}

然后在代码中就可以引用该类的参数了。因为我的打印方法类在library中,所以每个项 目打包的时候也不需要专门配置了,非常的方便。

  1. 混淆
    既然说到了buildTypes,把混淆的方法也记录下来。
 release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

混淆是通过设置minifyEnabled来判断是否需要混淆的,只有true和false2个变量,属于布尔类型。proguardFiles 是混淆文件。
一般第三方平台如个推、友盟这些都是要加的,官方文档都有记录,这里只记录阿里的fastjson。

#fastjson
-dontwarn Android.support.**
-dontwarn com.alibaba.fastjson.**
-dontskipnonpubliclibraryclassmembers
-dontskipnonpubliclibraryclasses
-keep class com.baidu.** { *; }
-keep class com.alibaba.fastjson.** { *; }
-keepclassmembers class * {
public <methods>;
}
-keepattributes Signature
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值