Android APK 混码---proguard-project.txt说明

来源:互联网 发布:心事谁人知 艋舺 编辑:程序博客网 时间:2024/05/22 13:55

混淆代码中 ,如果代码中用了 反射的 ,千万要注意 要隔离 。

常见用法:

-keep class 保留类

-keepclassmembers 保留类中的方法或者字段名

-keepclasseswithmembernames 保留类名和类中的方法或者字段名

-dontwarn [class_filter] 不提示warnning

-injars 表示你要混淆的jar文件

-outjars 是混淆后的jar文件名

-libraryjars 是混淆时需要引用的android库

-ignorewarning 表示混淆时忽略所以的警告

-dontoptimize 不进行优化,这句代码非常重要。并且配置中不能有-dontpreverify字段;-dontpreverify在混淆jar时没有问题但是在apk应用中使用该jar后对apk进行混淆时就会失败。

遇见问题:

1.类型转换错误,因为我用的泛型,所以在调用某些方法的时候,会出现这种错误,后面在混淆配置文件加了一个过滤泛型的语句,如下。

-keepattributes Signature

过后,就没有出现类似的类型转换错误。

2.用到 annotation的地方,要加入一行代码,如下:

-keepattributes *Annotation*

这样就能过滤掉所有的annotation,否则也会抛出空指针异常。

3.过滤掉 log打印消息

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** v(...);
}






0 0