1. 在客制化目录D615/GIG/下添加文件version,文件内容如下
INVER=SS_SSSSS_S101
OUTVER=OO_OOOOO_OB01
INCREMENTALVER=NNN-NNNN-NNNN
2. 在quickbuild.sh脚本中读取version文件的内容,并输出为全局变量,供其他文件引用,内容如下:
function build_version()
{
echo “****************removeold version*****************”
echo
if [ -f “./version” ] ; then
rm version
fi
local board=$(cut_string $1 1)
local project=$(cut_string $1 2)
echo board is $board
echo project is $project
VERSION=$WsRootDir/$WIND_ROOTDIR/$board/$project/version
if [ -f “$VERSION” ] ; then
echo “**************copynew version**************”
cp $VERSION.
echo
else
echo “Fileversion not exist!!!!!!!”
fi
INVER=’awk –F = ‘NR==1{printf $2}’ version’
OUTER=’awk –F = ‘NR==2 {printf $2}’ version’
echo INNER VERSION IS $INVER
echo OUTER VERSION IS $OUTVER
export VER_INNER=$INVER
export VER_OUTER=$OUTVER
}
#切割函数
function cut_string(){
if [ “$#” –lt2 ]; then return ; fi
localstring=$1
localposition=$2
local ifs=”_”
echo$string | cut –d “$ifs” –f $position
}
在适当的位置引用该函数
build_version $BOARD_PROJECT
3. 在build/tools/buildinfo.sh中引用脚本中导出的全局变量即可
echo “ro.build.display.id”=$VER_OUTER”
echo “ro.build.version.incremental=$VER_INNER”
创建新的属性变量
1. 在device目录下的mk文件中添加新的变量并赋值,如下所示
WIND_PRODUCT_MODEL := Mmm
WIND_PRODUCT_BRAND :=Brand
WIND_PRODUCT_NAME :=Name
2. 在build/core/Makefile中声明变量并赋予mk文件中的变量值,如下所示
WIND_PRODUCT_MODEL=”$(WIND_PRODUCT_MODEL)” \
WIND_PRODUCT_BRAND=”$(WIND_PRODUCT_BRAND)” \
WIND_PRODUCT_NAME=”$(WIND_PRODUCT_NAME)” \
3. 在build/tools/buildinfo.sh中引用Makefile文件中的变量,如下所示
echo “ro.product.model=$WIND_PRODUCT_MODLE”
echo “ro.product.brand=$WIND_PRODUCT_BRAND”
echo “ro.product.name=$WIND_PRODUCT_NAME”