您好,登錄后才能下訂單哦!
Android編譯完成后的代碼結(jié)構(gòu)是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
Android編譯完成后,將在根目錄中生成一個out文件夾,所有生成的內(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)運(yùn)行的內(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目錄的結(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應(yīng)用程序生成的目標(biāo),每個應(yīng)用程序?qū)?yīng)其中一個子目錄,將結(jié)合每個應(yīng)用程序的原始文件生成Android應(yīng)用程序的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應(yīng)用,與common/APPS相對應(yīng),但是已經(jīng)打成了APK包。
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文件是運(yùn)行時真正需要的文件。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。