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

      待续

  • 相关阅读:
    Java中判断两个列表是否相等
    chrome:插件、跨域、调试....
    mac 开发环境采坑
    webpack升级踩坑
    js-使用装饰器去抖
    React setState 笔试题,下面的代码输出什么?
    react 解决:容器组件更新,导致内容组件重绘
    centos使用ngnix代理https
    javascript 理解继承
    js 数据监听--对象的变化
  • 原文地址:https://www.cnblogs.com/cnhome/p/1784382.html
Copyright © 2011-2022 走看看