分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗
一、find bugs 静态检查工具
http://findbugs.sourceforge.net/
FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析
详情请参考:http://baike.baidu.com/view/2367937.htm
二、Android未使用的资源文件查找工具
在开发以及版本更新的过程中,经常会在项目中产生很多未使用或者冗余的资源文件,这里推荐一个小工具可以在发布时检测多余的资源文件,进而精简APK文件大小。
http://code.google.com/p/android-unused-resources/
将AndroidUnusedResources1.6.2.jar文件放入工程的根目录,在命令行运行命令”java -jar AndroidUnusedResources.jar”, 就可以多余的资源文件列出
删除多余的资源可以加快编译和运行速度
这个程序是用http://code.google.com/p/android-unused-resources/进行修改,增加了删除功能
运行方式:java -jar android_unused_resources_advance.jar androidProjectPath isDelete
其中androidProjectPath为android项目路径, isDelete为是否删除, true则删除, 否则只显示多余的资源
注意:这个程序只删除某些多余资源, 如图片, style, string, layout等, 但不对layout里面不用的元素进行删除, 在运行前请先做好备份
附GIT源码:https://github.com/Danesh/android-unused-resources
三、还原混淆后的log方法
sdktoolsproguardbin 目录下有个retrace.bat工具可以将混淆后的报错堆栈解码成正常的类名
使用方法如下:
将你的报错堆栈保存到文件中,如obfuscated_trace.txt
拿到版本发布时生成的mapping.txt
执行命令retrace.bat -verbose mapping.txt obfuscated_trace.txt
ProGuard 提供了命令行和 GUI 工具来还原混淆后的代码。
该工具位于 <android-sdk>/tools/proguard/bin/ 目录下。
里面的
proguardgui.bat 为 GUI 工具,
1) 运行 proguardgui.bat
2) 从左边的菜单选择 “ReTrace”
3) 在上面的 mapping 文件中选择你的 mapping 文件 ,在下面输入框输入要还原的代码
4) 点击 “ReTrace!”
按钮retrace.bat 为命令行工具, 把 mapping 文件和 要还原的堆栈信息保存在 stacktrace 文件中,
然后把这两个文件复制到 retrace.bat 目录下,运行如下命令即可。
retrace.bat -verbose mapping.txt stacktrace.txt > out.txt