envsetup文件命令解析

上传人:hs****ma 文档编号:477832523 上传时间:2022-10-29 格式:DOCX 页数:7 大小:17.80KB
返回 下载 相关 举报
envsetup文件命令解析_第1页
第1页 / 共7页
envsetup文件命令解析_第2页
第2页 / 共7页
envsetup文件命令解析_第3页
第3页 / 共7页
envsetup文件命令解析_第4页
第4页 / 共7页
envsetup文件命令解析_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《envsetup文件命令解析》由会员分享,可在线阅读,更多相关《envsetup文件命令解析(7页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 每次进入到android source目录后的第一件事恐怕就是先执行. build/envsetup.sh,完成一些命令的初始化,今天主要分析envsetup.sh。1. 命令-也就是envsetup.sh中的函数function help() # 显示帮助信息function get_abs_build_var()# 获取绝对变量function get_build_var() # 获取绝对变量function check_product()# 检查productfunction check_variant() # 检查变量function s

2、etpaths()# 设置文件路径function printconfig()# 打印配置function set_stuff_for_environment() # 设置环境变量function set_sequence_number() # 设置序号function settitle() # 设置标题function choosetype() # 设置typefunction chooseproduct() # 设置productfunction choosevariant() # 设置variantfunction tapas() # 功能同choosecombofunction cho

3、osecombo()# 设置编译参数function add_lunch_combo()# 添加lunch项目function print_lunch_menu()# 打印lunch列表function lunch() # 配置lunchfunction m()# make from topfunction findmakefile()# 查找makefilefunction mm()# make from current directoryfunction mmm()# make the supplied directoriesfunction croot()# 回到根目录function

4、cproj()function pid()function systemstack()function gdbclient()function jgrep()# 查找java文件function cgrep() # 查找c/cpp文件function resgrep()function tracedmdump()function runhat()function getbugreports()function startviewserver()function stopviewserver()function isviewserverstarted()function smoketest()f

5、unction runtest()function godir () # 跳到指定目录 # add the default one hereadd_lunch_combo generic-eng # Execute the contents of any vendorsetup.sh files we can find.for f in /bin/ls vendor/*/vendorsetup.sh vendor/*/build/vendorsetup.sh 2 /dev/nulldo echo including $f . $fdone 2. lunch命令已经有人分析过了,直接搬过来:ht

6、tp:/ build/envsetup.shbuild/envsetup.sh提供了几个有用的shell命令,使用$. build/envsetup.sh可以引入到shell环境中。下面整理并简述。特别,envsetup.sh还同时会引入vendor/和device /目录下的vendorsetup.sh脚本。help 显示帮助,列出提供的命令get_abs_build_var 列出make脚本中某变量的值,前缀上当前路径。ref dumpvar.mk使用方法: get_abs_build_var VAR_NAMEVAR_NAME是需要显示的make脚本中的变量。例如: get_abs_bui

7、ld_var TARGET_PRODUCT返回 get_build_var 列出make脚本中某变量的值。ref dumpvar.mkUsage: get_build_var VAR_NAMEVAR_NAME是需要显示的make脚本中的变量。Return: Example: get_abs_build_var TARGET_PRODUCTcheck_product检查指定的TARGET_PRODUCT是否允许,默认的有sim和generic。如果不允许,则输出错误信息,允许则无回显。Usage: check_product Example: check_product genericcheck

8、_variant检查variant是否支持,支持则返回0,不支持则返回1。允许的variant列表定义在envsetup.sh中的VARIANT_CHOICES中,默认是user,userdebug,eng。定制android时,可以在VARIANT_CHOICES中添加vairant。Usage: check_variant Example: check_variant engsetpaths奇次执行时,将ANDROID_BUILD_PATHS路径加到PATH中。偶次执行时,将ANDROID_BUILD_PATHS路径从PATH中去除。ANDROID_BUILD_PATHS包括android

9、编译中要使用到的路径,例如ANDROID_EABI_TOOLCHAIN,ANDROID_TOOLCHAIN,ANDROID_QTOOLS,ANDROID_JAVA_TOOLCHAIN,ANDROID_PRODUCT_OUT等等。 Usage: setpathsprintconfig输出类似如下形势的配置信息。=PLATFORM_VERSION_CODENAME=AOSPPLATFORM_VERSION=AOSPTARGET_PRODUCT=genericTARGET_BUILD_VARIANT=engTARGET_SIMULATOR=TARGET_BUILD_TYPE=releaseTARGE

10、T_BUILD_APPS=TARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=OPENMASTER=set_stuff_for_environment依次调用settitle, set_java_home,setpaths,set_sequence_number。设置android编译需要的环境变量。set_sequence_number输出环境变量BUILD_ENV_SEQUENCE_NUMBER。settitle设置shell的prompt提示,PROMPT_COMMAND中加入TARGET_PR

11、ODUCT,TARGET_BUILD_VARIANT,和TARGET_BUILD_APPS等信息提示。choosesim配置环境变量TARGET_SIMULATOR。linux下会提示用户选择device或simulator。然后调用set_stuff_for_environment设置。choosetype配置环境变量TARGET_BUILD_TYPE_SIMULATOR。会提示用户选择release或debug。然后调用set_stuff_for_environment设置。chooseproduct配置环境变量TARGET_PRODUCT。会提示用户选择release或debug。然后调

12、用set_stuff_for_environment设置。choosevariant配置环境变量TARGET_BUILD_VARIANT。会提示用户选择release或debug。choosecombo依次调用choosesim,choosetype,chooseproduct,choosevariant,set_stuff_for_environment配置,然后调用printconfig输出。add_lunch_combo向环境变量LUNCH_MENU_CHOICES标识的列表中添加项。envsetup.sh中默认添加了full-eng,full_x86-eng,和simulator。pr

13、int_lunch_menu列出LUNCH_MENU_CHOICES中的所有选项。lunch点菜,用户选择/指定product,variant后,lunch命令设置环境变量TARGET_PRODUCT,TARGET_BUILD_VARIANT,TARGET_SIMULATOR,TARGET_BUILD_TYPE,随后调用set_stuff_for_environment设置,并printconfig显示。Usage: lunch -不给参数时,将提示用户选择。 Example: lunch lunch generic-engtapas用户给定variant和一个或多个app name,就是LOCAL_PACKAGE_NAME的名字。ta

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号