在项目中开发中我们会有各种各样的打印,还有引入的第三方框架也会有打印。为了安全考虑有些打印会有敏感信息,这时需要我们正式打包时删除打印。现提供一种在proguard混淆时可以直接把System.out.print及android的Log都去掉的方法。
只需要在proguard的配置文件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 android.util.Log {
public static *** d(...);
public static *** v(...);
}
-assumenosideeffects class android.util.Log {
public static *** e(...);
public static *** v(...);
}
-assumenosideeffects class android.util.Log {
public static *** i(...);
public static *** v(...);
}
-assumenosideeffects class android.util.Log {
public static *** w(...);
public static *** v(...);
}
-assumenosideeffects class java.io.PrintStream {
public *** println(...);
public *** print(...);
}当然打包时要开启混淆才行

本文介绍了一种在ProGuard混淆过程中直接移除Android应用中System.out.print及android的Log打印的方法。仅需在proguard-rules.pro配置文件中加入特定代码即可实现此功能。
984

被折叠的 条评论
为什么被折叠?



