• 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

      待续

  • 相关阅读:
    is(C# 参考)
    索引器(C# 编程指南)
    修改IIS文件上传大小限制
    Sql Server判断某列字段是否为空或判断某列字段长度
    Linq分页查询
    H5网页播放器播不了服务器上的mp4视频文件
    [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理
    如何通过ildasm/ilasm修改assembly的IL代码
    Python实战之set学习笔记及简单练习
    Python实战之int学习笔记及简单练习
  • 原文地址:https://www.cnblogs.com/cnhome/p/1784382.html
Copyright © 2020-2023  润新知