- 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方法中执行一下即可。