android混淆代码调试
来源:互联网 发布:php文件加密工具 编辑:程序博客网 时间:2024/05/29 20:00
混淆后的代码出现错误怎么办呢,如何进行调试,最近为此而头疼,感觉没把别人混淆了,先混淆了自己,后来发现一篇文章,与大家分享
ProGuard的输出文件及用处
混淆之后,会给我们输出一些文件,在gradle方式下是在<project_dir>/build/proguard/目录下,ant是在<project_dir>/bin/proguard目录,eclipse构建在<project_dir>/proguard目录像。
分别有以下文件:
+ dump.txt 描述apk文件中所有类文件间的内部结构。
+ mapping.txt 列出了原始的类,方法,和字段名与混淆后代码之间的映射。
+ seeds.txt 列出了未被混淆的类和成员
+ usage.txt 列出了从apk中删除的代码
当我们发布的release版本的程序出现bug时,可以通过以上文件(特别时mapping.txt)文件找到错误原始的位置,进行bug修改。同时,可能一开始的proguard配置有错误,也可以通过错误日志,根据这些文件,找到哪些文件不应该混淆,从而修改proguard的配置。
注意:重新release编译后,这些文件会被覆盖,所以没吃发布程序,最好都保存一份配置文件。
调试Proguard混淆后的程序
上面说了输出的几个文件,我们在改bug时可以使用,通过mapping.txt,通过映射关系找到对应的类,方法,字段等。
另外Proguard文件中包含retrace脚本,可以将一个被混淆过的堆栈跟踪信息还原成一个可读的信息,window下时retrace.bat,linux和mac是retrace.sh,在<sdk_root>/tools/proguard/文件夹下。语法为:
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]
例如:
retrace.bat -verbose mapping.txt obfuscated_trace.txt
如果你没有指定<stacktrace_file>,retrace工具会从标准输入读取。
转自 http://www.jianshu.com/p/0202845db617
- android混淆代码调试
- Android代码混淆及调试错误
- Android 代码混淆,混淆打包
- Android 代码混淆 webview混淆
- [Android]混淆Android代码
- [Android]混淆Android代码
- Android代码混淆------apk文件代码混淆
- android 代码混淆proguard
- Android项目代码混淆
- android 代码混淆总结
- android 代码混淆
- android代码混淆
- 混淆Android代码
- Android代码混淆 反编译
- android 代码混淆
- Android 代码混淆
- android 代码混淆
- Android代码混淆技术
- CSS3学习笔记之边框效果
- Unable to instantiate activity ComponentInfo
- Sublime Text 2 SFTP UnicodeDecodeError错误!
- 百度地图API,指定比例尺大小
- poj 1286 Necklace of Beads (polya)
- android混淆代码调试
- 学习Java必备的一些书籍?
- 装饰模式
- java类过滤器,防止页面sql注入
- Lc.exe已退出 代码为-1
- ubuntu 系统在播放视频时,一段时间后黑屏
- 替换SQL字段中的指定字符
- 关于performSelector调用和直接调用区别
- 实践 windows2003 IIS + PHP + MS SQL