关于混淆

2019-02-27  本文已影响0人  开发进行曲

        最近上线的app出现部分页面闪退问题,我刚开始以为是代码的问题,但是查看了一下,本地运行没有问题,也不任何报错,怎么到了线上就有问题呢。后面就想是不是打包过程中出现的问题导致的,再然后就定位到估计是混淆的问题,然后就仔细排查,最后找到问题所在。

最后总结了下:

混淆常用语法

-libraryjars class_path 应用的依赖包,如android-support-v4 

-keep [,modifier,...] class_specification 不混淆某些类 

-keepclassmembers [,modifier,...] class_specification 不混淆类的成员 

-keepclasseswithmembers [,modifier,...] class_specification 不混淆类及其成员 

-keepnames class_specification 不混淆类及其成员名 

-keepclassmembernames class_specification 不混淆类的成员名 

-keepclasseswithmembernames class_specification 不混淆类及其成员名 

-assumenosideeffects class_specification 假设调用不产生任何影响,在proguard代码优化时会将该调用remove掉。如system.out.println和Log.v等等 

-dontwarn [class_filter] 不提示warnning

1.自定控件

保持自己的自定义控件不被混淆,因为这些会在xml文件中出现,被混淆就找不到报错

-keep class com.konglsd.it.ggapp.Custom.CustomPopupWindow

2.如果使用了Gson之类的工具要使JavaBean类即实体类不被混淆

我的问题酒出现在这里,网络请求出来数据,查看数据没有问题,我都在日志中看到数据了,就是解析不出来,int指输出的都是0,很郁闷。

-keep class com.konglsd.it.ggapp.bean.** { *; }

3. 还有就是一些第三方的文件,在网上都可以找到

上一篇 下一篇

猜你喜欢

热点阅读