android编译:
1、build.sh脚本:
该脚本根据传进来的参数选择编译的项目:
例如./build.sh XXX systemimage
因为$1=P729B_CN则会进入if语句中。
if [ "$1" = "XXX" ] ]; then
source ./$1/customize.sh//执行定制目录拷贝脚本
./build_blade.sh update-api//生成current.xml文件,更新api。
./build_blade.sh $2 //根据传进来的第二个参数systemimage来编译版本。既:./build_mooncake.sh systemimage
fi
2、build_XXX.sh脚本
通过上面我们可以看到,版本的编译进入了./build_XXX.sh systemimage命令的执行。在这个脚本中:
source build/envsetup.sh > /dev/null ///设置环境变量
choosecombo Device releaseXXXeng //选择设备
make -j4 $1 //进行编译。这里相当于make -j4 systemimage 当然这里的-j4根据自己的机器配置来选择编译的级别。
其中source build/envsetup.sh > /dev/null 设置环境变量,也是作为mm的一个解析器;
choosecombo Device release XXX eng 这条中的choosecombo是Google自带的一个函数,实际上在这里他调用的其他几个文件:
choosesim $1 选择目标设备
choosetype $2 选择目标代码格式
chooseproduct $3 选择产品