溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何深入剖析Android代碼結(jié)構(gòu)

發(fā)布時間:2021-11-11 15:56:00 來源:億速云 閱讀:132 作者:柒染 欄目:移動開發(fā)

這篇文章給大家介紹如何深入剖析Android代碼結(jié)構(gòu),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

當(dāng)我們在對Android操作系統(tǒng)進(jìn)行編程后,會產(chǎn)生一個結(jié)構(gòu)嚴(yán)密的Android代碼結(jié)構(gòu),那么大家可以從這篇文章中對這一結(jié)構(gòu)進(jìn)行詳細(xì)的分析,以此為參考,來加深大家對這一操作系統(tǒng)的認(rèn)識,方便大家今后的開發(fā)。

Android編譯完成后,將在根目錄中生成一個out文件夾,所有生成的Android代碼結(jié)構(gòu)內(nèi)容均放置在這個文件夾中。out文件夾如下所示:

out/   -- CaseCheck.txt   -- casecheck.txt   -- host    -- common    -- linux-x86   -- target    -- common    -- product

主要的兩個目錄為host和target,前者表示在主機(jī)(x86)生成的工具,后者表示目標(biāo)機(jī)(默認(rèn)為ARMv5)運行的內(nèi)容。

host目錄的結(jié)構(gòu)如下所示:

out/host/    -- common    -- obj (JAVA庫)    -- linux-x86    -- bin (二進(jìn)制程序)    -- framework (JAVA庫,*.jar文件)    -- lib (共享庫*.so)    -- obj (中間生成的目標(biāo)文件)

host目錄是一些在主機(jī)上用的工具,有一些是二進(jìn)制程序,有一些是JAVA的程序。

target目錄的Android代碼結(jié)構(gòu)如下所示:

out/target/   -- common   -- R (資源文件)   -- docs   -- obj (目標(biāo)文件)   -- product    -- generic

其中common目錄表示通用的內(nèi)容,product中則是針對產(chǎn)品的內(nèi)容。

在common目錄的obj中,包含兩個主要的目錄:

APPS 中包含了JAVA使用程序生成的目標(biāo),每個使用程序?qū)?yīng)其中一個子目錄,將結(jié)合每個使用程序的原始文件生成Android使用程序的APK包。

JAVA_LIBRARIES 中包含了JAVA的庫,每個庫對應(yīng)其中一個子目錄。

在默認(rèn)的情況下,Android編譯將生成generic目錄,如果選定產(chǎn)品還可以生成其他的目錄。generic包含了以下內(nèi)容:

out/target/product/generic/   -- android-info.txt   -- clean_steps.mk   -- data   -- obj   -- ramdisk.img   -- root   -- symbols   -- system   -- system.img   -- userdata-qemu.img   -- userdata.img

在generic/obj/APPS目錄中包含了各種JAVA使用,與common/APPS相對應(yīng),但是已經(jīng)打成了APK包。

  • Android術(shù)語列表概覽

  • Android讀寫文件正確實行方法介紹

  • Android實現(xiàn)全屏正確方法介紹

  • Android浮點基礎(chǔ)概念淺談

  • Android性能在實際開發(fā)中優(yōu)缺點評比

system目錄是主要的文件系統(tǒng),data目錄是存放數(shù)據(jù)的文件系統(tǒng)。

obj/SHARED_LIBRARIES中存放所有動態(tài)庫。

obj/STATIC_LIBRARIES中存放所有靜態(tài)庫。

多個以img為結(jié)尾的文件是多個目標(biāo)映像文件,其中ramdisk是作為內(nèi)存盤的根文件系統(tǒng)映像,system.img是主要文件系統(tǒng)的映像,這是一個比較大的文件,data.img是數(shù)據(jù)內(nèi)容映像。這多個image文件是模擬器運行時真實需要的文件。

關(guān)于如何深入剖析Android代碼結(jié)構(gòu)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI