~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
packages/ |– apps (各種應(yīng)用程序,如聯(lián)系人绍些、瀏覽器等)
|– experimental (一些實(shí)驗(yàn)性的項(xiàng)目,如錯(cuò)誤報(bào)告)
|– inputmethods (輸入法相關(guān))
|– providers (各種數(shù)據(jù)源實(shí)現(xiàn),如聯(lián)系人數(shù)據(jù)、媒體庫(kù)等信息)
|– wallpapers (各種壁紙程序)
Android Framework功能介紹
android.app :提供**的程序模型和基本的運(yùn)行環(huán)境陈症。
android.content :包含對(duì)各種設(shè)備上的數(shù)據(jù)進(jìn)行訪問(wèn)和發(fā)布窗看。
android.database :通過(guò)內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫(kù)莲组。
android.graphics :底層圖形庫(kù),包含畫(huà)布情组、點(diǎn)唆阿、矩形等,可以將其直接繪制到屏幕上益涧。
android.location :定位和相關(guān)服務(wù)的類(lèi)。
android.media :提供一些類(lèi)管理多種音頻驯鳖、視頻的媒體接口闲询。
android.net :提供幫助網(wǎng)絡(luò)訪問(wèn)的類(lèi),超過(guò)通常的 java.net.* 接口。
android.os :提供了系統(tǒng)服務(wù)浅辙、消息傳輸和 IPC 機(jī)制扭弧。
android.opengl :提供 OpenGL 的工具。
android.provider :提供訪問(wèn) Android 內(nèi)容提供者的類(lèi)记舆。
android.telephony :提供與撥打電話相關(guān)的 API 交互鸽捻。
android.view :提供基礎(chǔ)的用戶(hù)界面接口框架。
android.util :涉及工具性的方法,例如時(shí)間日期的操作泽腮。
android.webkit :默認(rèn)瀏覽器操作接口御蒲。
android.widget :包含各種 UI 元素(大部分是可見(jiàn)的)在應(yīng)用程序的布局中使用 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/ |– buildspec.mk.default |– cleanspec.mk |– core (各種以mk為結(jié)尾的文件,它門(mén)是編譯所需要的Makefile)
|– envsetup.sh |– libs |– target (包含board和product兩個(gè)目錄,為目標(biāo)所需要文件)
|– tools (編譯過(guò)程中主機(jī)所需要的工具,一些需要經(jīng)過(guò)編譯生成) 其中,core中的Makefile是整個(gè)Android編譯所需要的真正的Makefile,它被頂層目錄的Makefile引用
知識(shí)點(diǎn)小結(jié),DEX (class.dex) 文件是Android系統(tǒng)中可以在Dalvik虛擬機(jī)上直接運(yùn)行的文件格式诊赊。
Java源碼通過(guò)ADT編譯成smali語(yǔ)言這是一個(gè)優(yōu)化的過(guò)程厚满,
相對(duì) 于.class文件它體積小、運(yùn)行效率高豪筝、被編譯后可讀性低痰滋;smali再到class.dex本身就是一個(gè)加殼保護(hù)的過(guò)程。
DEX文件如果未做好保護(hù)续崖, 黑客通過(guò)反編譯可讓源碼完全暴露敲街,可利用閱讀源碼來(lái)找到APP的設(shè)計(jì)流程,
通過(guò)對(duì)程序流程的了解將很容易對(duì)程序進(jìn)行盜版严望、惡意篡改多艇、惡意代碼注入等危險(xiǎn)行 為。
在此特別感謝愛(ài)加密提供的加密服務(wù)給我應(yīng)用加固提供了保護(hù)像吻。