`
1025250620
  • 浏览: 225640 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
本章节我们绕回来讲Keep参数,也就是ConfigurationParser 这个类。 ConfigurationParser这个类是非常重要的类,如果你已经开始看源码,你会发现所有的类和功能都围着它来转,本章节我们来揭开它的地一层面纱。 else if (ConfigurationConstants.KEEP_OPTION.startsWith(nextWord))                configuration.keep = parseKeepClassSpecificationArguments(                        configuration. ...
上一次我们讲了seed文件,这次我们说压缩,对应的输出文件是usage,可以通过命令-printusage usage.txt来配置 压缩的目的是为了删除一些我们不使用的类和方法,从而达到字节码压缩的目的。 这里我贴出我的微博:http://weibo.com/1752090185/profile?rightmod=1&wvr=5&mod=personinfo 有意向可以加我。 直接切入主题吧,压缩是用Shrinker来实现的压缩功能,看过我之前的分析,应该对这种写法并不陌生,这种写法我还没有发现它不好的地方,姑且我们就默认这种写法吧。 一样我们找execute方法。 ...
Seed文件就是保持住的类文件,直白一点就是不被混淆的文件,他主要是通过printSeeds() 方法实现 这里我们要引入一个类ClassVisitor 。这个我们要区分ClassPoolVisitor ClassPoolVisitor可以看成是ClassVisitor的组合, 也就是说我们单纯看代码实现的时候可以只关注ClassVisitor。先看下seed的输出文件: 1:com.test.Test2:com.test.Test: java.lang.String publicP3:com.test.Test: com.test.Test2 test24:com.test.Test ...
ProGuard outputs thefollowing files after it runs: dump.txt···描述apk文件中所有类文件的内部结构  PrintStream ps = createPrintStream(configuration.dump);try{    programClassPool.classesAccept(new ClassPrinter(ps));} mapping.txt···列出了类、方法、成员的原貌与混淆后的映射表。在收到错误报告时,可以用它翻译混淆后的堆栈信息。 -printmapping seeds.txt···列出未混淆的类与 ...
Android 2.2.2到Android 4.2.2源码下载地址  可能有些的地址已经过时了 Android-2.2.2_r1.tar.bz2                       迅雷下载 Android-2.2.2_r1-20121015.tar.bz2     迅雷下载 Android-2.3.3_r1                                   http://l2.yunpan.cn/lk/Q8aA2vu2RZCSx Android-2.3.4_r1                                   http://l2.yunpan. ...
Proguard是Android中经常用的混淆工具,当然你也可以采用其他的混淆工具。但我这边谈到的只是Proguard。 大多数人了解Proguard大都通过文档,但是我这次决定从源码入手,分析Proguard。我个人觉得Proguard的源码写的还是非常的出彩的,当然你可能跟我有不一样的品味,我也不做深究。我这边只想说明一点,那就是,如果你想从这几篇文章里面试图不通过源码就弄懂文章的主体意思,我觉得你还是绕路吧。下载的网址我就不找了,相信跟我有相同爱好的开源爱好者都不会因为这个而放弃。文章中可能有些地方不当或者语句不通顺的地方敬请见谅。有错误直接指出,当然如果你要从其他点来分析,补充说明的 ...
Terms VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS Overview The aim of this post i ...
我们可以通过adb shell "dumpsys meminfo %curProcessName%"命令得到某个进程的内存使用情况。 getMemoryState.bat主要用于解析该命令返回的内存,得到NativeSize,DalvikSize,NativeAllocated,DalvikAllocated,NativePSS,DalvikPSS等。它把不同时期得到的数据按时间前后为顺序以逗号作为分隔符的排列输出到一个以进程名命名的文本文件,以便在excel中生产图表。 getMemoryState.bat文件源码 @echo off call confi ...
ProGuard的作用:   1.创建紧凑的代码文档是为了更快的网络传输,快速装载和更小的内存占用. 2.创建的程序和程序库很难使用反向工程. 3.所以它能删除来自源文件中的没有调用的代码 4.充分利用java6的快速加载的优点来提前检测和返回java6中存在的类文件.  参数:   -include {filename}    从给定的文件中读取配置参数 -basedirectory {directoryname}    指定基础目录为以后相对的档案名称 -injars {class_path}    指定要处理的应用程序jar,war,ear和目录 -outjars {cl ...
在chrome地址栏输入about:credits就可以看到chrome使用的开源工程了,之前也有一篇介绍chrome开源工程的文章:Code Reuse in Google Chrome Browser,大家可以参考一下。 David M. Gay's floating point routines homepage fp是netlib的一部分,主要用于浮点数运算,数的二进制与十进制的转换以及字符串和浮点数之间的转换等。这种库在程序移植到嵌入式设备时非常重要,如果移植的不好,可能出现浮点运算错误,或者在进行浮点运算时非常慢的问题。这个库里面实现的比较重要的函数有:strtod,dto ...

dex文件结构(转)

Dex文件和Dalvik虚拟机 在Android系统中,dex文件是可以直接在Dalvik虚拟机中加载运行的文件。通过ADT,经过复杂的编译,可以把java源代码转换为dex文 件。 那么这个文件的格式是什么样的呢?为什么Android不直接使用class文件,而采用这个不一样文件呢?其实它是针对嵌入式系统优化的结 果,Dalvik虚拟机的指令码并不是标准的Java虚拟机指令码,而是使用了自己独有的一套指令集。如果有自己的编译系统,可以不生成class文件, 直接生成dex文件。dex文件中共用了很多类名称、常量字符串,使它的体积比较小,运行效率也比较高。但归根到底,Dalvik还是基于 ...
(转自:http://wallage.blog.163.com/blog/static/1738962420101012439991/)       [java] view plaincopy public class PictureTestActivity extends Activity {              @Override          public void onCreate(Bundle savedInstanceState){              super.onCreate(savedInstanceState);   ...
MAT安装 话分两头说,有了heap dump还得安装MAT。可以在http://www.eclipse.org/mat/downloads.php选择合适的方式安装。安装完成后切换 到Memory Analyzer视图。在Eclipse的左上角有Open Heap Dump按钮,按照刚才说的路径找到java_pid3600.hprof文件并打开。解析hprof文件会花些时间,然后会弹出向导,直接Finish 即可。稍后会看到下图所示的界面。 MAT工具分析了heap dump后在界面上非常直观的展示了一个饼图,该图深色区域被怀疑有内存泄漏,可以发现整个heap才64M内存,深色区域就占了99 ...
QA1:eclipse MAT hprof 文件无法打开 分类: QA 2012-03-28 13:46 1381人阅读 评论(0) 收藏 举报 eclipsesystemjava eclipse错误: Error opening heap dump 'system_process.hprof'. Check the error log for further details. Error opening heap dump 'system_process.hprof'. Check the error log for further details. Unk ...
方法一: 只要在配置文件内activity属性配置内加上 android:theme="@android:style/Theme.Translucent" 就好了。 这样就调用了android的透明样式! 方法二: 先在res/values下建colors.xml文件,写入:         <?xmlversionxmlversion="1.0"encoding="UTF-8"?>      <resources>      <colornamecolorname="tran ...
Global site tag (gtag.js) - Google Analytics