区分Release 和Debug
为了 log 和 接口环境需要,总是需要区分logs
有两种方式:
首先是 需要上下文的方式:
public static boolean isApkDebugable(Context context) {
try {
ApplicationInfo e = context.getApplicationInfo();
return (e.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
} catch (Exception var2) {
return false;
}
}
另外 则是直接从build的配置项中设置和读取,更加具有普遍性:
buildTypes {
release {
minifyEnabled false
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "boolean", "LOG_DEBUG", "true"
}
debug {
minifyEnabled false
buildConfigField "boolean", "LOG_DEBUG", "false"
}
}
先设置不同build 方式的标志量的值
然后使用如下:
if (BuildConfig.LOG_DEBUG) {
Log.d(tag, msg);
}