Android Studio通过配置build.gradle参数设置全局的Log开关
2016-11-30 16:21
671 查看
Android Studio通过配置build.gradle参数设置全局的Log开关
在app中的build.gradle中,在编译后会生成一个BuildConfig的类,这个类包含了一些当前编译类型的基本参数。如:public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLICATION_ID = "com.example.demo"; 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"; }
这样,我们就可以通过其中的build的debug和release版本参数不同,来全局控制log的显示开关。如:
public class LogUtils { public static boolean debug = BuildConfig.DEBUG; public static void e(String tag, String message) { if (debug) { Log.e(tag, message); } } public static void e(String message) { e("error", message); } public static void w(String tag, String message) { if (debug) { Log.w(tag, message); } } public static void w(String message) { w("warn", message); } public static void i(String tag, String message) { if (debug) { Log.i(tag, message); } } public static void i(String message) { i("info", message); } public static void d(String tag, String message) { if (debug) { Log.d(tag, message); } } public static void d(String message) { d("debug", message); } public static void v(String tag, String message) { if (debug) { Log.v(tag, message); } } public static void v(String message) { v("verbose", message); } }
BuildConfig中的DEBUG参数其实是通过debuggable参数来控制的,一般debug类型apk是默认BuildConfig.DEBUG为true,release类型BuildConfig.DEBUG为false。
buildTypes { release { ... debuggable false //默认false,可不写 } debug { ... debuggable true //默认true,可不写 } }
当然也可以通过其他的参数作为控制Log的变量,如BuildConfig.BUILD_TYPE,这个变量表示当前编译的是debug版本还是release版本。
当然我们还可以在build.gradle中自定义一个变量控制,如:
buildTypes { release { ... //会在BuildConfig这个类中生成一个变量,变量名为LOG_DEBUG,值为false buildConfigField("boolean", "LOG_DEBUG", "false") } debug { ... buildConfigField("boolean", "LOG_DEBUG", "true") } }
我们在build.gradle的buildTypes中给buildConfigField参数设置属性值。他会在BuildConfig这个类中自动生成一个变量,变量名为LOG_DEBUG,值会根据buildTypes中的编译类型选择,如:debug版本为true,release版本为false。
public final class BuildConfig { public static final boolean DEBUG = Boolean.parseBoolean("true"); public static final String APPLICATION_ID = "com.example.demo"; public static final String BUILD_TYPE = "release"; 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 LOG_DEBUG = true;//debug版本 }
相关文章推荐
- Android:通过build gradle中的buildTypes设置自动log开关(一)
- Android:通过build gradle中的buildTypes设置自动log开关(二)
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Gradle build设置自动log开关
- Android Studio 通过配置build.gradle打包签名文件。生成xxx.apk
- Android Studio 通过配置build.gradle打包签名文件
- Gradle build设置自动log开关
- 安卓app设置版本号,通过build.gradle设置
- Android Studio里面的Build.gradle的详细配置说明
- android studio 通过build.gradle修改debug.keystore为自己的keystore方法
- Android通过build.gradle配置应用版本等信息
- Android Studio里面的Build.gradle的详细配置说明
- Android Studio升级1.0 现有程序 build.gradle配置文件更新
- Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
- Android Studio --> Gradle Build设置自动