Android学习之Build环境介绍

来源:中国it实验室时间:2012-02-28

  这里略过对android在手机上的文件系统框架的阐述(google或者baidu都能帮助你找到对应的信息),主要看google是如何把生成合适的rootfs的工作整合到它的build体系当中,同时,会顺带看一下CyanogenMod中对应各种机型的build机制。

  首先,来看一下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

发表评论

最新评论(共0条)