zoukankan      html  css  js  c++  java
  • Android build system 分析之 envsetup.sh

    每次进入到android source目录后的第一件事恐怕就是先执行. build/envsetup.sh,完成一些命令的初始化,今天主要分析envsetup.sh。

    1. 命令-也就是envsetup.sh中的函数

    function help()                   # 显示帮助信息
    function get_abs_build_var()           # 获取绝对变量
    function get_build_var()              # 获取绝对变量
    function check_product()             # 检查product
    function check_variant()              # 检查变量
    function setpaths()                # 设置文件路径
    function printconfig()               # 打印配置
    function set_stuff_for_environment()        # 设置环境变量
    function set_sequence_number()          # 设置序号
    function settitle()                  # 设置标题
    function choosetype()               # 设置type
    function chooseproduct()              # 设置product
    function choosevariant()               # 设置variant
    function tapas()                    # 功能同choosecombo
    function choosecombo()             # 设置编译参数
    function add_lunch_combo()           # 添加lunch项目
    function print_lunch_menu()           # 打印lunch列表
    function lunch()                  # 配置lunch
    function m()                   # make from top
    function findmakefile()              # 查找makefile
    function mm()                  # make from current directory
    function mmm()                 # make the supplied directories
    function croot()                 # 回到根目录
    function 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()
    function runtest()
    function godir ()                  # 跳到指定目录

     

    # add the default one here
    add_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/null`
    do
        echo "including $f"
        . $f
    done

    2. lunch命令

      已经有人分析过了,直接搬过来:

      http://www.lupaworld.com/home.php?mod=space&uid=131820&do=blog&id=149462

      这里说一下check_product的流程:

      待续

    3. choosecombo

      待续

  • 相关阅读:
    shell脚本中执行python脚本并接收其返回值的例子
    linux查找所有文件中某个字符串
    Shell脚本中单引号(‘)和双引号(“)的使用区别
    第一个shell脚本
    shell 比较符号
    source ~/.bash_profile是什么意思
    bash shell:获取当前脚本的绝对路径(pwd/readlink)
    poj 3307 Smart Sister 打表解因子生成数问题
    Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
    UISegmentedControl的具体使用
  • 原文地址:https://www.cnblogs.com/cnhome/p/1784382.html
Copyright © 2011-2022 走看看