安卓源码总体结构(1)基础知识汇总

– Makefile (全局的Makefile文件)

– bionic (Bionic含义为仿生,这里面是一些基础的C库源代码)

– bootloader (引导加载器)

build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)

– build (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)

– cts (Android兼容性测试套件标准)

– libcore (核心库相关)

Dalvik虚拟机 针对嵌入式设备优化的Java

安卓源码总体结构(1)基础知识汇总_第1张图片

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的设计流程,通过对程序流程的了解将很容易对程序进行盗版、恶意篡改、恶意代码注入等危险行 为。

在此特别感谢爱加密提供的加密服务给我应用加固提供了保护:http://www.ijiami.cn/AppProtect 

你可能感兴趣的:(安卓源码总体结构(1)基础知识汇总)