標籤:
– 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的設計流程,通過對程式流程的瞭解將很容易對程式進行盜版、惡意篡改、惡意代碼注入等危險行 為。
在此特別感謝愛加密提供的Data Encryption Service給我應用加固提供了保護:http://www.ijiami.cn/AppProtect
安卓源碼總體結構(1)基礎知識匯總