分享一個Android平臺編譯指令碼
先說明使用方法
1:將內容copy到一個檔案,如檔名為mk,將此檔案加上可執行許可權 chmod +x mk
2:將mk檔案放於android頂層目錄
3:執行./mk會有提示如下:
^.^ example: ./mk full_g30p_5u-eng
^.^ example: ./mk full_g30p_5u-eng bootimage
根據提示即可知使用方法
./mk 專案 模組
專案:執行 . build/envsetup.sh; lunch 後的輸出
模組:編譯的模組,模組為空時表示編譯整個android系統,模組由幾個選項 pl lk bootimage systemimage
4:
5:編譯歷史的記錄在檔案scMake.ini
內容類似如下:
./mk full_air_m65_5u-user lk ---- 2017-05-18 20:56:54
./mk full_air_m65_5u-user bootimage ---- 2017-05-18 20:59:19
./mk full_air_m65_5u-user bootimage ---- 2017-05-19 9:34:54
./mk full_air_m65_5u-user bootimage ---- 2017-05-19 9:43:08
6:其實自己看腳步內容理解比較直接,謝謝
#腳步內容如下
#---------------------------------------------------------------start------------------------------------------------------
#!/bin/bash
CPUINFO=$(cat /proc/cpuinfo | grep name |cut -f2 -d: | uniq -c;)echo "the cpu info${CPUINFO}"
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO# *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPUINFO=${CPUINFO% *}
CPU=$CPUINFO
echo "so you job is ${CPU}"
if [ $# -eq 0 ];then
source build/envsetup.sh 1>/dev/null
print_lunch_menu
echo "^.^ example: ./mk full_g30p_5u-eng"
echo "^.^ example: ./mk full_g30p_5u-eng bootimage"
echo ""
fi
if [ $# -eq 1 ];then
source build/envsetup.sh 1>/dev/null
print_lunch_menu
echo "$0 $1 $2 $3 $4 ---- `date '+%F %H:%M:%S'`" >> scMake.ini
echo "lunch $1";
echo "make -j12 2>&1 | tee build.log";
lunch $1
make -j12 2>&1 | tee build.log
fi
if [ $# -eq 2 ];then
source build/envsetup.sh 1>/dev/null
print_lunch_menu
#echo "make -j${CPU} [pl] [lk] [bootimage] [systemimage]2>&1 | tee build.log";
echo "$0 $1 $2 $3 $4 ---- `date '+%F %k:%M:%S'`" >> scMake.ini
echo "lunch $1";
echo "make -j${CPU} $2 2>&1 | tee $2.log";
lunch $1
make -j${CPU} $2 2>&1 | tee $2.log
fi
#---------------------------------------------------------------end------------------------------------------------------