新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Android學(xué)習(xí)之Build環(huán)境初探

Android學(xué)習(xí)之Build環(huán)境初探

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

這里略過(guò)對(duì)android在手機(jī)上的文件系統(tǒng)框架的闡述(google或者baidu都能幫助你找到對(duì)應(yīng)的信息),主要看google是如何把生成合適的rootfs的工作整合到它的build體系當(dāng)中,同時(shí),會(huì)順帶看一下CyanogenMod中對(duì)應(yīng)各種機(jī)型的build機(jī)制。

本文引用地址:http://butianyuan.cn/article/201610/305872.htm

首先,來(lái)看一下Android的build系統(tǒng)中,使用到的編譯選項(xiàng)和相關(guān)工具

具體的目錄在:mydroid/build/tools/下

|-- acp

這是一個(gè)稍微改良的cp命令,用來(lái)應(yīng)付在windows/MAC/Linux下的cp命令的缺陷,其中的README很值得一看!

|-- adbs

這是一個(gè)用來(lái)查看crash問(wèn)題的工具,詳細(xì)請(qǐng)看《Android調(diào)試工具之a(chǎn)dbs》

|-- Android.mk

|-- apicheck

用來(lái)進(jìn)行發(fā)布前的API檢查(參見(jiàn)mydroid/build/core/tasks/apicheck.mk),是否新編譯的系統(tǒng)中有破壞API兼容性或是非法的API

這里的代碼是用Java寫(xiě)的用來(lái)檢查編譯時(shí)生成的API相關(guān)信息的xml文件(mydroid/framework/base/api/中),可以參考里面對(duì)于xml文件解析的代碼

|-- apriori

實(shí)現(xiàn)prelink的工具,簡(jiǎn)單介紹參見(jiàn)(mydroid/bionic/linker/README.TXT)

|-- atree

為android SDK服務(wù)的一個(gè)工具,用來(lái)按照指定xxx.atree文件中的內(nèi)容進(jìn)行一些文件操作

|-- bin2asm

不太明白具體的用處,應(yīng)該是用來(lái)應(yīng)付mac上編譯android一些與gcc相關(guān)的問(wèn)題

|-- buildinfo.sh

生成target中的各種xxx.prop文件,如system.prop, build.prop等

|-- check_builds.sh

包裝了diff,用來(lái)看2個(gè)發(fā)布版本之間變化

|-- check_prereq

device上進(jìn)行ota升級(jí)時(shí)的工具之一

|-- compare_fileslist.py

與check_builds.sh配合完成版本比較的腳本

|-- droiddoc

Android更具javadoc的一些移植

|-- dump-package-stats

簡(jiǎn)單的查看一個(gè)jar/apk文件內(nèi)的dex和其它文件的大小信息

|-- event_log_tags.py

處理event-log-tags的內(nèi)容,關(guān)于event-log-tags文件的意義參見(jiàn)《Android學(xué)習(xí)之event-log-tags是神馬》

|-- fileslist.py

簡(jiǎn)化的列出指定目錄下所有文件及大小的腳本 -- 可以放入自己的工具庫(kù)了使用:)

|-- findleaves.py

在指定目錄中(可多個(gè))找指定文件的腳本 -- 可以放入自己的工具庫(kù)了使用:)

|-- fixlinebreaks.sh

把windows中的換行改為linux下的 -- 可以放入自己的工具庫(kù)了使用:)

|-- fs_config

列出指定文件夾及文件的權(quán)限

|-- fs_get_stats

得到指定文件夾下文件的簡(jiǎn)單stats信息

|-- iself

判斷文件是否是ELF格式

|-- isprelinked

判斷文件是否是prelink過(guò)的

|-- java-event-log-tags.py

處理event-log-tags的內(nèi)容,關(guān)于event-log-tags文件的意義參見(jiàn)《Android學(xué)習(xí)之event-log-tags是神馬》

|-- kcm

key character map的工具, 相關(guān)資料參照:http://www.kandroid.org/online-pdk/guide/keymaps_keyboard_input.html#androidKeymapKeyCharMap

|-- lsd

!!!!!! ???

|-- merge-event-log-tags.py

處理event-log-tags的內(nèi)容,關(guān)于event-log-tags文件的意義參見(jiàn)《Android學(xué)習(xí)之event-log-tags是神馬》

|-- mktarball.sh

與fs_get_stats配合而執(zhí)行的打包工具

|-- print_module_licenses.sh

顯示當(dāng)前目錄下所有module信息

|-- releasetools

-- check_target_files_signatures

|-- common.py

|-- edify_generator.py

|-- img_from_target_files

|-- ota_from_target_files

`-- sign_target_files_apks

|-- rgb2565

rgb轉(zhuǎn)換工具

|-- signapk

命令行下對(duì)jar包簽名的工具

|-- soslim

Android定制的編譯工具之一,簡(jiǎn)單介紹參見(jiàn)(mydroid/bionic/linker/README.TXT)

|-- warn.py

解析Android系統(tǒng)編譯log的工具

`-- zipalign

zipfile的對(duì)齊工具,參見(jiàn)該文件夾下的README.TXT

在來(lái)看看Android編譯系統(tǒng)中定義的一些通用XXX.mk文件

mydroid/build/core/

|-- armelflib.x

|-- armelf.x

|-- armelf.xsc

|-- base_rules.mk

|-- binary.mk

|-- build_id.mk

|-- build-system.html

|-- checktree

|-- cleanbuild.mk

|-- cleanspec.mk

|-- clear_vars.mk

|-- combo

|-- config.mk

|-- copy_headers.mk

|-- definitions.mk

|-- device.mk

|-- dex_preopt.mk

|-- distdir.mk

|-- droiddoc.mk

|-- dumpvar.mk

|-- dynamic_binary.mk

|-- envsetup.mk

|-- executable.mk

|-- filter_symbols.sh

|-- find-jdk-tools-jar.sh

|-- help.mk

|-- host_executable.mk

|-- host_java_library.mk

|-- host_native_test.mk

|-- host_prebuilt.mk

|-- host_shared_library.mk

|-- host_static_library.mk

|-- java_library.mk

|-- java.mk

|-- legacy_prebuilts.mk

|-- main.mk

|-- Makefile

|-- multi_prebuilt.mk

|-- native_test.mk

|-- node_fns.mk

|-- notice_files.mk

|-- package.mk

|-- pathmap.mk

|-- phony_package.mk

|-- prebuilt.mk

|-- process_wrapper_gdb.cmds

|-- process_wrapper_gdb.sh

|-- process_wrapper.sh

|-- product_config.mk

|-- product.mk

|-- proguard.flags

|-- proguard_tests.flags

|-- raw_executable.mk

|-- raw_static_library.mk

|-- root.mk


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉