APP开发实战112-ProGuard注意事项

来源:互联网 发布:org.apache.http.util 编辑:程序博客网 时间:2024/06/06 08:44

28.3ProGuard注意事项

1 在混淆配置文件中,如果使用了-keep指令,最好同时使用-dontwarn指令,否则可能会因为出现warning导致编译出错。

 

2 以下两个指令最好也要使用上,否则APP崩溃后,出错信息里没有行号,不方便分析解决问题:

-renamesourcefileattributeSourceFile
-keepattributes SourceFile,LineNumberTable

 

3混淆功能是在编译release版本时生效,开发同事通常只编译debug版本,这往往会导致在自己本机编译正常,但服务器编译release版本时,因为没有配置混淆而出错。

所以在向服务器提交代码前,最好编译下release版本,可以有效避免这个问题。

 

4有时会遇到release版本有某个问题,但debug版本没有这个问题的情况,是由于release版本编译时修改了类名、函数名和变量名,在运行时找不到对应的名称,导致出错。

解决这样的问题,需在混淆文件中做如下类试配置:

-keepclass com.google.protobuf.** {*;}

 

5如果有类是通过反射来使用的,那这个类也需要做-keep处理。



0 0