Gradle脚本中默认的debug和release两种模式BuildCondig.DEBUG字段分别为true和false,而且不可更改。该字段编译后自动生成,在Studio中生成的目录在app/build/source/BuildConfig/Build Varients/package name/BuildConfig 文件下。
public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLICATION_ID = "com.szlanyou.iov"; public static final String BUILD_TYPE = "debug"; public static final String FLAVOR = ""; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = "1.0"; // Fields from build type: debug public static final boolean LY_DEBUG = true; }
DEBUG 字段属于自身原有的,可以使用这个进行判断。
LY_DEBUG 字段属于自定义的,也可以使用这个进行判断。
自定义BuildConfig字段
buildTypes { release { // 不显示Log, 在java代码中的调用方式为:BuildConfig.LY_DEBUG buildConfigField "boolean", "LY_DEBUG", "false" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug{ // 不显示Log, 在java代码中的调用方式为:BuildConfig.LY_DEBUG buildConfigField "boolean", "LY_DEBUG", "true" } }在代码中调用如下:
/** * 统一打印标志位 */ public static boolean isDebug = BuildConfig.LY_DEBUG; /** * 输出info级别的日志 * * @param tag * @param msg */ public static void i(String tag, String msg) { if (isDebug) Log.i(tag, msg); }只需要在Gradle配置好debug、release等模式下的环境就好了,打包的之后毫无顾虑了,Over!!!!