標籤:移動互連網 android 分析 技術 源碼
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
packages/
|– apps (各種應用程式,如連絡人、瀏覽器等)
|– experimental (一些實驗性的項目,如錯誤報表)
|– inputmethods (IME相關)
|– providers (各種資料來源實現,如連絡人資料、媒體庫等資訊)
|– wallpapers (各種壁紙程式)
Android Framework功能介紹
android.app :提供**的程式模型和基本的運行環境。
android.content :包含對各種裝置上的資料進行訪問和發布。
android.database :通過內容提供者瀏覽和操作資料庫。
android.graphics :底層圖形庫,包含畫布、點、矩形等,可以將其直接繪製到螢幕上。
android.location :定位和相關服務的類。
android.media :提供一些類管理多種音頻、視頻的媒體介面。
android.net :提供協助網路訪問的類,超過通常的 java.net.* 介面。
android.os :提供了系統服務、訊息傳輸和 IPC 機制。
android.opengl :提供 OpenGL 的工具。
android.provider :提供訪問 Android 內容提供者的類。
android.telephony :提供與撥打到電話相關的 API 互動。
android.view :提供基礎的使用者介面介面架構。
android.util :涉及工具性的方法,例如時間日期的操作。
android.webkit :預設瀏覽器操作介面。
android.widget :包含各種 UI 元素(大部分是可見的)在應用程式的布局中使用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/
|– buildspec.mk.default
|– cleanspec.mk
|– core (各種以mk為結尾的檔案,它門是編譯所需要的Makefile)
|– envsetup.sh
|– libs
|– target (包含board和product兩個目錄,為目標所需要檔案)
|– tools (編譯過程中主機所需要的工具,一些需要經過編譯產生)
其中,core中的Makefile是整個Android編譯所需要的真正的Makefile,它被頂層目錄的Makefile引用
知識點小結,DEX (class.dex) 檔案是Android系統中可以在Dalvik虛擬機器上直接啟動並執行檔案格式。
Java源碼通過ADT編譯成smali語言這是一個最佳化的過程,
相對 於.class檔案它體積小、運行效率高、被編譯後可讀性低;smali再到class.dex本身就是一個加殼保護的過程。
DEX檔案如果未做好保護, 駭客通過反編譯可讓源碼完全暴露,可利用閱讀源碼來找到APP的設計流程,
通過對程式流程的瞭解將很容易對程式進行盜版、惡意篡改、惡意代碼注入等危險行 為。
在此特別感謝愛加密提供的Data Encryption Service給我應用加固提供了保護。
http://www.ijiami.cn/AppProtect
安卓源碼總體結構(2)基礎知識匯總