public class LogUtils {
public static boolean APP_DBG = false; // 是否是debug模式
public static void init(Context context){
APP_DBG = isApkDebugable(context);
}
/**
* 但是当我们没在AndroidManifest.xml中设置其debug属性时:
* 使用Eclipse运行这种方式打包时其debug属性为true,使用Eclipse导出这种方式打包时其debug属性为法false.
* 在使用ant打包时,其值就取决于ant的打包参数是release还是debug.
* 因此在AndroidMainifest.xml中最好不设置android:debuggable属性置,而是由打包方式来决定其值.
*
* @param context
* @return
* @author SHANHY
* @date 2015-8-7
*/
public static boolean isApkDebugable(Context context) {
try {
ApplicationInfo info= context.getApplicationInfo();
return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
} catch (Exception e) {
}
return false;
}
}
项目开发中,我们根据debug属性来输出日志。
但是有些时候我们想在给公司的测试机上安装的release版本也输出日志,那么这个时候我们到 AndroidManifest.xml 中的application 标签中添加属性强制设置debugable即可,如下:
<application android:debuggable="true" tools:ignore="HardcodedDebugMode"
....
.... />
init 方法在客户端的第一个Activity的onCreate方法中执行一下即可。