关于程序中使用反射时混淆造成的问题
来源:互联网 发布:php倒计时钟代码 编辑:程序博客网 时间:2024/05/25 20:00
最近项目中用到了反射来调用类中的方法,此外,这些被调用的方法不会被显式的调用。因此正常情况下看来,这些类是无人引用的冗余文件。同时,由于项目上线时需要进行混淆,那么问题就来了,发现混淆后通过反射调用的方法都无法运行了。通过跟log发现,都抛出了ClassNotFound的异常。
根据异常想起来忘记在混淆时对这些类进行keep操作了,加上就好了。本着好奇的心态,对混淆编译好的apk进行了反编译,发现不仅仅是因为混淆修改了类名而找不到类,而是混淆之后根本就没有这个类了!!!
后来查了下才知道,混淆时proguard会对程序进行压缩和优化,那么这些没有被显示调用到的类就会被当成冗余文件压缩掉了~万幸防止被压缩和防止被混淆都可以通过keep操作实现,加上keep之后就ok了~
阅读全文
0 0
- 关于程序中使用反射时混淆造成的问题
- Android混淆配置造成的反射问题
- 关于混淆时遇到的问题
- 关于widthStep造成的问题
- 混淆泛型造成的应用逻辑问题getGenericType()
- 关于Fragment使用FrameLayout帧布局时,show/hidden和replace造成的生命周期问题
- 关于App混淆的问题
- 在LoaderCallbacks中使用CursorAdapter造成的内存泄露问题
- Android开发中使用Fragment造成的图像残留问题
- android中使用static 类造成的问题
- 关于WSARecv在IOCP使用中程序崩溃的问题
- 关于在R中使用C程序的一些问题
- COM新手使用中一个易混淆的问题
- eclipse中使用反射机制时应该注意的问题
- java配置文件或者eclipse中url等使用造成程序报错问题
- 关于QT中printf和Debug造成程序异常情况的说明
- 反射程序集时的占用问题。
- 关于反射的一些程序
- 设计模式(8)--组合模式
- PAT 乙级 1032. 挖掘机技术哪家强(20)
- Eclipse使用:编译指定的文件夹,配置文件的使用
- 深度学习
- 师万物博客的历程(总)
- 关于程序中使用反射时混淆造成的问题
- CSU-ACM2017暑期训练1-Debug与STL hdu1022-Train Problem I
- HDU1338 解题报告
- elastic-job详解(一):数据分片
- CentOS7下搭建solr6.6全文检索服务器及IK分词器配置
- pydbg安装指南(多图,超详细)
- CSSHack
- PAT乙级 1013. 数素数 (20) 素数表
- Linux命令学习之六