– Makefile (全局的Makefile文件)
– bionic (Bionic含义为仿生,这里面是一些基础的C库源代码)
– bootloader (引导加载器)
build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
– build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
– cts (Android兼容性测试套件标准)
– libcore (核心库相关)
Dalvik虚拟机 针对嵌入式设备优化的Java
Java虚拟机)
– dalvik ( Dalvik虚拟机,针对嵌入式设备优化的Java虚拟机)
– development (创建应用程序所需要的模板和工具)
qcom,
– device (与具体设备相关的一些编译脚本和库,如htc,qcom,samsung等)
– external (Android使用的一些外部的开源框架和库)
(应用程序的框架层,SDK
SDK的接口基本都是在这里实现的)
– frameworks (应用程序的框架层,SDK的接口基本都是在这里实现的)
– hardware (与硬件相关的库)
Linux2.6
– kernel (Linux2.6的内核源代码)
– ndk (本地开发套件--C语言开发套件)
--C
Android的各种应用程序)
– packages (Android的各种应用程序)
– prebuilt (Android在各种平台下编译的预置脚本)
– sdk (SDK及模拟器)
Android的底层的一些库)
– system (Android的底层的一些库)
`– vendor (厂商私有的代码)
知识点小结,DEX (class.dex) 文件是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。
Java源码通过ADT编译成smali语言这是一个优化的过程,相对 于.class文件它体积小、运行效率高、被编译后可读性低;smali再到class.dex本身就是一个加壳保护的过程。
DEX文件如果未做好保护, 黑客通过反编译可让源码完全暴露,可利用阅读源码来找到APP的设计流程,通过对程序流程的了解将很容易对程序进行盗版、恶意篡改、恶意代码注入等危险行 为。
在此特别感谢爱加密提供的加密服务给我应用加固提供了保护。