– Makefile (全局的Makefile文件)
– bionic (Bionic含義為仿生,這里面是一些基礎的C庫源代碼)
– bootloader (引導加載器)
build目錄中的內容不是目標所用的代碼,而是編譯和配置所需要的腳本和工具)
– build (build目錄中的內容不是目標所用的代碼,而是編譯和配置所需要的腳本和工具)
– cts (Android兼容性測試套件標準)
– libcore (核心庫相關)
Dalvik虛擬機 針對嵌入式設備優(yōu)化的Java
Java虛擬機)
– dalvik ( Dalvik虛擬機,針對嵌入式設備優(yōu)化的Java虛擬機)
– development (創(chuàng)建應用程序所需要的模板和工具)
qcom,
– device (與具體設備相關的一些編譯腳本和庫,如htc,qcom,samsung等)
– external (Android使用的一些外部的開源框架和庫)
(應用程序的框架層,SDK
SDK的接口基本都是在這里實現(xiàn)的)
– frameworks (應用程序的框架層,SDK的接口基本都是在這里實現(xiàn)的)
– hardware (與硬件相關的庫)
Linux2.6
– kernel (Linux2.6的內核源代碼)
– ndk (本地開發(fā)套件--C語言開發(fā)套件)
--C
Android的各種應用程序)
– packages (Android的各種應用程序)
– prebuilt (Android在各種平臺下編譯的預置腳本)
– sdk (SDK及模擬器)
Android的底層的一些庫)
– system (Android的底層的一些庫)
`– vendor (廠商私有的代碼)
知識點小結,DEX (class.dex) 文件是Android系統(tǒng)中可以在Dalvik虛擬機上直接運行的文件格式抄谐。
Java源碼通過ADT編譯成smali語言這是一個優(yōu)化的過程偶惠,相對 于.class文件它體積小瀑梗、運行效率高、被編譯后可讀性低铅檩;smali再到class.dex本身就是一個加殼保護的過程。
DEX文件如果未做好保護, 黑客通過反編譯可讓源碼完全暴露尚困,可利用閱讀源碼來找到APP的設計流程,通過對程序流程的了解將很容易對程序進行盜版链蕊、惡意篡改事甜、惡意代碼注入等危險行 為。
在此特別感謝愛加密提供的加密服務給我應用加固提供了保護:http://www.ijiami.cn/AppProtect?