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

本文介绍了在APP开发中使用ProGuard时需要注意的事项,包括在混淆配置文件中结合使用-keep和-dontwarn指令以避免编译错误,启用SourceFile和LineNumberTable便于错误分析,确保在提交代码前编译release版本以检查混淆配置,以及如何处理因混淆导致的运行时错误和反射类的保护方法。
摘要由CSDN通过智能技术生成

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处理。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值