新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android學習之Build環境初探

        Android學習之Build環境初探

        作者: 時間:2016-10-08 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201610/305872.htm

        首先,來看一下Android的build系統中,使用到的編譯選項和相關工具

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

        |-- acp

        這是一個稍微改良的cp命令,用來應付在windows/MAC/Linux下的cp命令的缺陷,其中的README很值得一看!

        |-- adbs

        這是一個用來查看crash問題的工具,詳細請看《Android調試工具之adbs》

        |-- Android.mk

        |-- apicheck

        用來進行發布前的API檢查(參見mydroid/build/core/tasks/apicheck.mk),是否新編譯的系統中有破壞API兼容性或是非法的API

        這里的代碼是用Java寫的用來檢查編譯時生成的API相關信息的xml文件(mydroid/framework/base/api/中),可以參考里面對于xml文件解析的代碼

        |-- apriori

        實現prelink的工具,簡單介紹參見(mydroid/bionic/linker/README.TXT)

        |-- atree

        為android SDK服務的一個工具,用來按照指定xxx.atree文件中的內容進行一些文件操作

        |-- bin2asm

        不太明白具體的用處,應該是用來應付mac上編譯android一些與gcc相關的問題

        |-- buildinfo.sh

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

        |-- check_builds.sh

        包裝了diff,用來看2個發布版本之間變化

        |-- check_prereq

        device上進行ota升級時的工具之一

        |-- compare_fileslist.py

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

        |-- droiddoc

        Android更具javadoc的一些移植

        |-- dump-package-stats

        簡單的查看一個jar/apk文件內的dex和其它文件的大小信息

        |-- event_log_tags.py

        處理event-log-tags的內容,關于event-log-tags文件的意義參見《Android學習之event-log-tags是神馬》

        |-- fileslist.py

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

        |-- findleaves.py

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

        |-- fixlinebreaks.sh

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

        |-- fs_config

        列出指定文件夾及文件的權限

        |-- fs_get_stats

        得到指定文件夾下文件的簡單stats信息

        |-- iself

        判斷文件是否是ELF格式

        |-- isprelinked

        判斷文件是否是prelink過的

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

        處理event-log-tags的內容,關于event-log-tags文件的意義參見《Android學習之event-log-tags是神馬》

        |-- kcm

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

        |-- lsd

        !!!!!! ???

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

        處理event-log-tags的內容,關于event-log-tags文件的意義參見《Android學習之event-log-tags是神馬》

        |-- mktarball.sh

        與fs_get_stats配合而執行的打包工具

        |-- print_module_licenses.sh

        顯示當前目錄下所有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轉換工具

        |-- signapk

        命令行下對jar包簽名的工具

        |-- soslim

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

        |-- warn.py

        解析Android系統編譯log的工具

        `-- zipalign

        zipfile的對齊工具,參見該文件夾下的README.TXT

        在來看看Android編譯系統中定義的一些通用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


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陇川县| 扶绥县| 饶河县| 舞阳县| 襄樊市| 威宁| 绵阳市| 浦东新区| 茶陵县| 嘉黎县| 贡觉县| 司法| 土默特右旗| 昭苏县| 黎城县| 临猗县| 满洲里市| 黄浦区| 通山县| 资阳市| 南靖县| 榆社县| 那曲县| 望城县| 平陆县| 碌曲县| 泗水县| 海伦市| 若尔盖县| 方城县| 大荔县| 海盐县| 岗巴县| 乡宁县| 英德市| 敦煌市| 大安市| 濉溪县| 淮北市| 柳州市| 恩平市|