build/envsetup.sh 生成的命令详解表
参考: https://wiki.cyanogenmod.org/w/Envsetup_help
它是一个.sh文件,用source后就生成android编译相关函数,具体如下。
速查
Invoking $ source build/envsetup.sh from your shell adds several functions to the build environment. These are listed below with short descriptions. Reference build/envsetup.sh for the most recent list of commands.
| 函数 | 作用 | 示例 |
| function help() | 显示帮助信息 | |
| function get_abs_build_var() | 获取绝对变量 |
列出make脚本中某变量的值,前缀上当前路径。ref dumpvar.mk 使用方法: |
| function get_build_var() | 获取绝对变量 | 列出make脚本中某变量的值。ref dumpvar.mk Usage: get_build_var VAR_NAME VAR_NAME是需要显示的make脚本中的变量。 Return: <VAR_NAME Value> Example: get_abs_build_var TARGET_PRODUCT |
| function check_product() | 检查product | 检查指定的TARGET_PRODUCT是否允许,默认的有sim和generic。如果不允许,则输出错误信息,允许则无回显。 Usage: check_product <YourTargetProduct> Example: check_product generic |
| function check_variant() | 检查变量 | 检查variant是否支持,支持则返回0,不支持则返回1。允许的variant列表定义在envsetup.sh中的VARIANT_CHOICES中,默认是user,userdebug,eng。定制android时,可以在VARIANT_CHOICES中添加vairant。 Usage: check_variant <YourVariant> Example: check_variant eng |
| function setpaths() | 设置文件路径 | 奇次执行时,将ANDROID_BUILD_PATHS路径加到PATH中。偶次执行时,将ANDROID_BUILD_PATHS路径从PATH中去除。ANDROID_BUILD_PATHS包括android编译中要使用到的路径,例如ANDROID_EABI_TOOLCHAIN,ANDROID_TOOLCHAIN,ANDROID_QTOOLS,ANDROID_JAVA_TOOLCHAIN,ANDROID_PRODUCT_OUT等等。 Usage: setpaths |
| function printconfig() | 打印配置 | 输出类似如下形势的配置信息。 ============================================ PLATFORM_VERSION_CODENAME=AOSP PLATFORM_VERSION=AOSP TARGET_PRODUCT=generic TARGET_BUILD_VARIANT=eng TARGET_SIMULATOR= TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm HOST_ARCH=x86 HOST_OS=Linux HOST_BUILD_TYPE=release BUILD_ID=OPENMASTER ============================================ |
| function set_stuff_for_environment() | 设置环境变量 | 依次调用settitle, set_java_home,setpaths,set_sequence_number。设置android编译需要的环境变量。 |
| function set_sequence_number() | 设置序号 | 输出环境变量BUILD_ENV_SEQUENCE_NUMBER。 |
| function settitle() | 设置标题 | 设置shell的prompt提示,PROMPT_COMMAND中加入TARGET_PRODUCT,TARGET_BUILD_VARIANT,和TARGET_BUILD_APPS等信息提示。 |
| function choosesim() | 配置环境变量TARGET_SIMULATOR。linux下会提示用户选择device或simulator。然后调用set_stuff_for_environment设置。 | |
| function choosetype() | 设置type | 配置环境变量TARGET_BUILD_TYPE_SIMULATOR。会提示用户选择release或debug。然后调用set_stuff_for_environment设置。 |
| function chooseproduct() | 设置product | 配置环境变量TARGET_PRODUCT。会提示用户选择release或debug。然后调用set_stuff_for_environment设置。 |
| function choosevariant() | 设置variant | 配置环境变量TARGET_BUILD_VARIANT。会提示用户选择release或debug。 |
| function tapas() | 功能同choosecombo | 用户给定variant和一个或多个app name,就是LOCAL_PACKAGE_NAME的名字。tapas设定 export TARGET_PRODUCT=generic export TARGET_BUILD_VARIANT=$variant export TARGET_SIMULATOR=false export TARGET_BUILD_TYPE=release export TARGET_BUILD_APPS=$apps Usage: tapas <YourVariant>? <YourAppName>* ?代表可选,*代表0个,1个或多个。YourVariant 和YourAppName的次序可颠倒。 Example: tapas user Calculator Calender |
| function choosecombo() | 设置编译参数 | 依次调用choosesim,choosetype,chooseproduct,choosevariant,set_stuff_for_environment配置,然后调用printconfig输出。 |
| function add_lunch_combo() | 添加lunch项目 | 向环境变量LUNCH_MENU_CHOICES标识的列表中添加项。envsetup.sh中默认添加了full-eng,full_x86-eng,和simulator。 |
| function print_lunch_menu() | 打印lunch列表 | 列出LUNCH_MENU_CHOICES中的所有选项。 |
| function lunch() | 配置lunch | 点菜,用户选择/指定product,variant后,lunch命令设置环境变量TARGET_PRODUCT,TARGET_BUILD_VARIANT,TARGET_SIMULATOR,TARGET_BUILD_TYPE,随后调用set_stuff_for_environment设置,并printconfig显示。 Usage: lunch [<YourProduct>-<YourBuildVariant>] 不给参数时,将提示用户选择。 |
| function gettop() | 返回当前android代码树的顶层路径。前提是当前路径位于android代码树中。 | |
| function m() | make from top | 等价于在当前android代码树的顶层路径下执行make命令。 |
| function mm() | make from current directory | 如果当前路径是代码树顶层,则mm相当于make。如果是深层,测mm相当于 ONE_SHOT_MAKEFILE=$M make -C $T files $@ $M是findmakefile发现的Android.mk,$T是代码树顶层路径,files是main.mk中定义的phony goal,就是完成$M对应目录范围内,所有android需编译的modules以及辅助说明txt文件。 |
| function mmm() | make the supplied directories | 给定package的路径,则mm会make相应的package。 例如,mmm package/apps/Calculator |
| function findmakefile() | 查找makefile | 查找当前或最接近自己的祖辈路径上的Android.mk,返回Android.mk的路径,假设当前路径处于android代码树中。 |
| function croot() | 回到根目录 | 改变当前路径到代码树顶层。 |
| function cproj() | 改变当前路径到最近的还有Android.mk文件的祖父辈路径。 | |
function pid() |
使用adb shell ps命令列出手机上指定名字的进程的pid。 Usage: pid <YourName> |
|
| function systemstack() | 使用kill -3system_server将系统进程中的线程信息写入/data/anr/traces.txt。 | |
| function gdbclient() | 建立gdb调试环境,包括两步,手机上运行gdbserver,本机上运行arm-eabi-gdb。 Usage: gdbclient <EXE> <PORT> <AppName> EXE: AppName的执行名。 PORT:gdbserver的端口,例如, 192.168.2.102:5039 |
|
| function sgrep() | 查找当前目录及子目录中所有.c,.h,.cpp,.S,.java,.mk,.xml,.sh文件,即源码文件中包含特定单词的行,并颜色显示输出。 Usage: sgrep <YourWord> Example: sgrep Calendar |
|
| function jgrep() | 查找Java文件 | 同sgrep,但只查.java文件。 |
| function cgrep() | 查找c/cpp文件 | 同sgrep,但只查c相关的文件,即.c,.cc,.cpp,.h文件。 |
| function resgrep() | 同sgrep,但只查res相关的.xml文件。 | |
| function mgrep() | 同sgrep,但只查make相关的脚本文件,包括Makefile文件,Makefile目录下的所有文件,.make文件,.mak文件和.mk文件。 | |
| function treegrep() | 查找当前目录及子目录中所有.c,.h,.cpp,.S,.java,.xml文件,即源码文件中包含特定单词的行,并颜色显示输出。 | |
| function getprebuilt() | 输出prebuilt的路径。 | |
| function tracedmdump() | 生成dexlist文件qtrace.dexlit,dmtrace数据文件dmtrace,和调用dmtracedump工具生成的dmtrace解析文件dmtrace.html,将生成文件放到指定路径。 Usage: tracedmdump <YourDirName> 如果YourDirName中不含’\’,则将放置的路径是$ANDROID_PRODUCT_OUT/traces/YourDirName。 |
|
| function runhat() | 貌似使用kill -10的方法得到heap dump并取到本地。使用hat以http方式展现出来。hat可能是个lightweight http server,不曾用过。 | |
| function getbugreports() | 将手机/sdcard/bugreports目录下的文件下载到本地并压缩打包。 | |
| function startviewserver() | 用指定端口启动viewserver。 Usage: startviewserver <Port> 不指定端口,则默认4939。 |
|
| function stopviewserver() | 关闭viewserver。 | |
| function isviewserverstarted() | 检查viewserver是否可用。 | |
| function smoketest() | 编译smoketest并安装手机运行。 | |
| function runtest() | 运行development/testrunner/runtest.py $@ | |
| function godir() | 跳到指定目录 | 给出一个词,godir会输出一个路径列表供用户选择要进入的路径。路径列表包含的路径满足,路径名中包含这个词,或这路径下的文件有文件名含这个词。out/路径下不考虑。 Usage: godir <YourKey> Usage: godir Calculator |
| function set_java_home() | 设置JAVA_HOME环境变量为/usr/lib/jvm/java-6-sun。 |
build/envsetup.sh 生成的命令详解表的更多相关文章
- MySQL Explain命令详解--表的读取顺序,数据读取操作的类型等
表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度(key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的) 不损失精确 ...
- 【转】Android编译系统详解(一)——build/envsetup.sh
出处 http://www.cloudchou.com/android/post-134.html 本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 准备好编译环境后,编译Rom的 ...
- Protobuf 文件生成工具 Prototool 命令详解
Protobuf 文件生成工具 Prototool 命令详解 简介 Prototool 是 Protobuf 文件的生成工具, 目前支持go, php, java, c#, object c 五种语言 ...
- Android 6.0 RK3288 ROM编译详解+命令详解【转】
本文转载自:http://blog.csdn.net/MLQ8087/article/details/58607692 Android 6.0 RK3288 ROM编译详解+命令详解 原创 2017年 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- Dockerfile命令详解
使用docker就会避免不了的要做各种镜像,就会用到dockerfile,记录一下dockerfile的主要命令 1.主要组成部分 dockerfile执行build命令时,是从上倒下依次执行 ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- LINUX的磁盘管理du命令详解
LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...
- Linux CAT与ECHO命令详解 <<EOF EOF
Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: .一次显示整个文件. $ cat filename .从键盘 ...
随机推荐
- HTTP缓存&代理
一.与缓存有关的Header 1.Request If-Modified-Since: 缓存文件的最后修改时间 If-None-Match: ...
- java编程题
第一题:输入字符串长度len1,字符串s1,字符串长度len2,字符串s2.从后向前比较,以最短字符串为标准,输出不同的元素的个数. 例如: 输入:s1="1,3,5" ...
- 现在web前端这么火,钱景怎么样啊?
web前端开发工程师可以说是一个全新的职业,在IT整个行业中真正受到重视的时间没有超过5年,也正因为这样,大家越来越想了解web前端工程师的前景究竟怎么样? web前端培训就业前景如何?web前端工程 ...
- JDBC数据库1
数据库(Database)是按照数据结构来组织,存储,和管理数据的仓库.数据库有很多类型,从简单存储各种数据的的表格到能够储存大型数据的系统,在各方面得到了广泛的应用.数据库简介J.Martin给 数 ...
- RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单
在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能.在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的D ...
- html页面定位
对于css中的position:relative;我始终搞不明白它是什么意思,有什么作用? 对于position的其它几个属性,我都搞懂了 引用 static : 无特殊定位,对象遵循HTML定位规则 ...
- tomcat在linux中启动慢的解决方案
有两种解决办法: 1)在Tomcat环境中解决 可以通过配置JRE使用非阻塞的Entropy Source. 在catalina.sh中加入这么一行:-Djava.security.egd=file: ...
- jQuery工具方法
目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...
- Dev 关于用openFileDialog控件上传图片的问题
1. OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.tx ...
- javascript中apply、call和bind的区别
在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢.在说区别之前还是先总结一下三者的相似之处:1.都是用来改变函数的this对象的指向的.2.第一个参数都是this要指向的对 ...