当前位置: 代码迷 >> Android >> 想envsetup.sh中增加一个参数,但如何改都不执行
  详细解决方案

想envsetup.sh中增加一个参数,但如何改都不执行

热度:93   发布时间:2016-05-01 10:37:47.0
想envsetup.sh中增加一个参数,但怎么改都不执行。
本帖最后由 collay 于 2013-05-31 09:00:58 编辑
在envsetup.sh中,原有choosecombo命令中只有3个参数,现想增加一个参数来作为多种字体的编译开关,如下修改:
function choosecombo()
{
    choosetype $1

    echo
    echo
    chooseproduct $2

    echo
    echo
    choosevariant $3

    echo
    echo
    choosefont $4 #新增一个参数,选择编译使用的系统字体
....
}

另外,仿照function choosevariant()的写法来写函数function choosefont(),但是所定义的参数TARGET_BUILD_FONT无法正常执行下去:
FONT_CHOICES=(default font1)
function choosefont()
{
    echo "Font choices are:"
    local index=1
    local v
    for v in ${FONT_CHOICES[@]}
    do
        echo "     $index. $v"
        index=$(($index+1))
    done

    local default_value=font1
    local ANSWER

    export TARGET_BUILD_FONT=
    while [ -z "TARGET_BUILD_FONT" ] #测试发现此处判断结果为false,因此直接跳出while循环
    do
        echo -n "Which would you like? [$default_value] "
....
}
另外根据别人建议,在build/core/dumpvar.mk中增加了
$(info   TARGET_BUILD_FONT=$(TARGET_BUILD_FONT))
但是最终也未能成功。

请各位指点一下,这个参数应该怎么加?是否有其他地方也需要同步修改?
网上关于android编译系统的解释非常多,但是这块内容似乎很少,请指点。
谢谢!!
android envsetup.sh choosecombo

------解决方案--------------------
http://asysbang.com/forum.php?mod=viewthread&tid=22&extra=page%3D1

第4条定制
------解决方案--------------------
不同产品拷贝不同的vendor_fonts.xml
比如有A_vendor_fonts.xml和B_vendor_fonts.xml
如果是一个产品要出不同的字体的话,就把一个产品拆成2个产品。。。
------解决方案--------------------
我测试了下,没问题呀
choosecombo 之后

echo ${TARGET_BUILD_FONT}
能正确打印出我选择的font3

估计是你写的有问题,注意下格式