<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/201610/305872.htm

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

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

          |-- acp

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

          |-- adbs

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

          |-- Android.mk

          |-- apicheck

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

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

          |-- apriori

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

          |-- atree

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

          |-- bin2asm

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

          |-- buildinfo.sh

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

          |-- check_builds.sh

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

          |-- check_prereq

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

          |-- compare_fileslist.py

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

          |-- droiddoc

          Android更具javadoc的一些移植

          |-- dump-package-stats

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

          |-- event_log_tags.py

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

          |-- fileslist.py

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

          |-- findleaves.py

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

          |-- fixlinebreaks.sh

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

          |-- fs_config

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

          |-- fs_get_stats

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

          |-- iself

          判斷文件是否是ELF格式

          |-- isprelinked

          判斷文件是否是prelink過的

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

          處理event-log-tags的內(nèi)容,關(guān)于event-log-tags文件的意義參見《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文件的意義參見《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

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

          |-- soslim

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

          |-- warn.py

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

          `-- zipalign

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

          在來看看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


          上一頁 1 2 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();