制作APP时如何解决Log输出控制?深圳APP开发公司本文就这个问题与各位进行分享,控制APP是否输出Log可以采用以下两种方案。
(1)Debug版本输出Log,Release版本不输出Log。A通过BuildConfig.DEBUG的值控制是否输出Log。public class MyLog {
private static final String TAG = "MyApp"; public static void v( String tag, String msg){ if( BuildConfig. DEBUG){ if( tag == "") { Log. v( TAG, msg); } else { Log. v( tag, msg); } } } … }
B在混淆配置文件中,将类Android.util.Log的方法设置为无效代码。
-assumenosideeffects class android. util. Log { public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); }
这种方式不仅可以控制Release版本不输出Log,还能减小Release版本所占空间大小。需要注意的是,在混淆配置文件中不能有关闭优化的配置-dontoptimize,否则上述方法将无效。
(2)Debug版本输出Log,Release版本只在特定场景下输出Log。通过特定变量的值控制是否输出Log。如在Debug版本中,IsEnableLog的值为true;在Release版本中默认为false,但通过特别的方式,如连续多次点击某个区域,IsEnableLog的值也会变为true,这样在Release版本中也可以输出Log,代码如下所示:
public class MyLog { private static final String TAG = "MyApp"; public static void v( String tag, String msg){ if( IsEnableLog){ if( tag == "") {
Log. v( TAG, msg); } else { Log. v( tag, msg); } } } … }
深圳APP开发公司提醒:有时会出现Debug版本没有问题,但Release版本有问题的情况,按上述方式,就比较容易处理这种情况。好了,APP开发公司本文关于“制作APP时如何解决Log输出控制”方法就分享到这里,谢谢关注,博纳网络编辑整理。