我们一般会对log打印设置开关,debug模式打开方便调式开发,Release模式发布时关闭。APP发布后都会交给第三方进行安全扫描,往往会扫描出信息漏洞,因为打印的代码依然存在。主要包含:
android.util.Log类的打印;System.out.println();Android开发一般不使用这种打印日志方式。java.lang.Exception, e.printStackTrace();而proguard-android.txt 这个配置是无法移除log打印代码的
在proguard-rules.pro文件加入如下代码 -assumenosideeffects class android.util.Log { public static *** d(...); public static *** e(...); public static *** i(...); public static *** v(...); public static *** println(...); public static *** w(...); public static *** wtf(...); } -assumenosideeffects class java.lang.Exception{ public *** printStackTrace(...); } //自己封装的log打印类 -assumenosideeffects class org.eclipse.paho.client.mqttv3.util.MqttLog { public static *** d(...); public static *** e(...); public static *** i(...); public static *** v(...); public static *** w(...); public static *** printStackTrace(...); }
参考文章
https://mp.weixin.qq.com/s/DE4gr8cTRQp2jQq3c6wGHQ?
https://blog.csdn.net/a2241076850/article/details/78391536