01 2019 档案
摘要:--摘自《Android进阶解密》 1.Hook技术分类 1)根据Hook的API语言划分,分为Hook Java和Hook Native * Hook Java主要通过反射和代理来实现,应用于在SDK开发环境中修改Java代码 * Hook Native则应用于在NDK开发环境和系统开发中修改Na
阅读全文
摘要:--摘自《Android进阶解密》 1.Instant Run编译部署 1)Hot swap:代码的增量改变不需要重启App,甚至不需要重启当前的Activity。修改一个现有方法中的代码时会采用Hot Swap 2)Warm Swap:App不需要重启,但是Activity需要重启。修改或删除一个
阅读全文
摘要:--摘自《Android进阶解密》 *Java中的ClassLoader* 1.系统类加载器包括3种: 1)Bootstrap ClassLoader(引导类加载器) C/C++代码实现的加载器,用于加载指定的JDK的核心类库,比如java.lang.、java.uti.等这些系统类。Java虚拟机
阅读全文
摘要:--摘自《Android进阶解密》 DVM和ART都是在Zygote进程中诞生的 *DVM和JVM的区别* 1.基于的架构不同 DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用的大量的出入栈指令,同时指令更紧凑、更简洁。但是由于显式指定了操作数,所以基于寄存器的指令会比基于栈的指令要大,
阅读全文
摘要:--摘自《Android进阶解密》 1.常说的JDK包含了Java语言、Java虚拟机和Java API类库这三部分,是Java程序开发的最小环境 2.JRE包含了JavaAPI中的Java SE API子集和Java虚拟机两个部分,是Java程序运行的标准环境 3.Java虚拟机上运行的语言不仅仅
阅读全文