andriod编译脚本

来源:互联网 发布:java的日志级别 编辑:程序博客网 时间:2024/04/28 15:59

编译脚本


[plain] view plain copy
  1. #!/bin/bash  
  2. echo "******************************************************"  
  3. echo "Note  :    一键编译固件脚本                "  
  4. echo "Author:    chwenj@gmail.com                "  
  5. echo "Agreement: GPL                             "  
  6. echo "******************************************************"  
  7.   
  8. echo "******************************************************"  
  9. echo "Entry: "  
  10. #获取脚本当前的路径:  
  11. SdkPath=$(cd "$(dirname "$0")"; pwd)   
  12. echo ""  
  13. echo ""  
  14. echo "The Sdk Path= $SdkPath"  
  15. echo ""  
  16. echo ""  
  17. source $SdkPath/proccessing.sh   
  18. source $SdkPath/proccess_ime.sh   
  19. read -p "Press ENTER to continue" var  
  20.   
  21. echo "******************************************************"  
  22. echo "process_preprare function: "  
  23. process_preprare $1 $2;  
  24. read -p "Press ENTER to continue" var  
  25.   
  26. echo "******************************************************"  
  27. echo "make kernel"  
  28. pwd  
  29. make kernel  
  30. read -p "Press ENTER to continue" var  
  31.   
  32. echo "******************************************************"  
  33. echo "source build/envsetup.sh"  
  34. cd ./android4.0  
  35. pwd  
  36. source build/envsetup.sh  
  37. read -p "Press ENTER to continue" var  
  38.   
  39. echo "******************************************************"  
  40. echo "lunch = $1-eng"  
  41. pwd  
  42. if [ $1 = "mc-v80c" ] ; then   
  43.     lunch crane_mc_v80c-eng   
  44.   
  45.     elif [ $1 = "mc-v80" ] ; then  
  46.         lunch crane_mc_v80-eng   
  47.   
  48.     elif [ $1 = "mc-v81c" ] ; then     
  49.         lunch crane_mc_v81c-eng   
  50.   
  51.     elif [ $1 = "mc-v40c" ] ; then  
  52.         lunch crane_mc_v40c-eng   
  53.   
  54.     elif [ $1 = "mc-v21" ] ; then  
  55.         lunch crane_mc_v21-eng  
  56.   
  57.     elif [ $1 = "com-v80c" ] ; then  
  58.         lunch crane_com_v80c-eng   
  59.   
  60.     elif [ $1 = "com-v80" ] ; then  
  61.         lunch crane_com_v80-eng   
  62.   
  63.     elif [ $1 = "com-v81c" ] ; then  
  64.         lunch crane_com_v81c-eng  
  65.   
  66.     elif [ $1 = "com-v81" ] ; then  
  67.         lunch crane_com_v81-eng  
  68.   
  69.     elif [ $1 = "com-v40c" ] ; then  
  70.         lunch crane_com_v40c-eng  
  71.   
  72.     else  
  73.     echo "build error cmd!"  
  74.     exit 0  
  75. fi  
  76.   
  77. read -p "Press ENTER to continue" var  
  78.   
  79. echo "******************************************************"  
  80. echo "extract-bsp"  
  81. pwd  
  82. extract-bsp  
  83. read -p "Press ENTER to continue" var  
  84.   
  85. echo "******************************************************"  
  86. echo "make -j8"   
  87. pwd  
  88. make -j8  
  89. read -p "Press ENTER to continue" var  
  90.   
  91. echo "******************************************************"  
  92. echo "processing IME"  
  93. process_ime $1 $3  
  94.    
  95. read -p "Press ENTER to continue" var  
  96.   
  97.   
  98. cd ./android4.0  
  99. pwd  
  100.   
  101. echo "******************************************************"  
  102. echo "pack"  
  103. pwd  
  104. pack  
  105. read -p "Press ENTER to continue" var  
  106.   
  107. echo "******************************************************"  
  108. echo "recovery"  
  109. process_recovery;  
  110. read -p "Press ENTER to continue" var  
  111.   
  112. echo "******************************************************"  
  113. echo "Compiling img success!!!"  
  114. echo "******************************************************"  

[plain] view plain copy
  1. #!/bin/bash  
  2.   
  3. pSdkPath=/home/carlton/jacktestplace/a10_Project/android40_A10  
  4.   
  5. ###  
  6. DrvPath=lichee/linux-3.0/drivers  
  7.   
  8. ###  
  9. GpioPath=$DrvPath/char  
  10.   
  11. GpioName20=idc_v80_gpio-20.c  
  12. GpioName14=idc_v80_gpio_14.c  
  13. GpioDstName=idc_v80_gpio.c  
  14.   
  15. function process_gpio()  
  16. {  
  17.   
  18.     echo "proccess function_gpio: $0 $1"  
  19.     rm -vf $pSdkPath/$GpioPath/*.o   
  20.   
  21.     if [ $1 = "IO-20" ] ; then   
  22.         echo "IO-20: "  
  23.         cp -vf $pSdkPath/$GpioPath/$GpioName20 $pSdkPath/$GpioPath/$GpioDstName  
  24.           
  25.         elif [ $1 = "IO-14" ] ; then  
  26.         echo "IO-14: "  
  27.         cp -vf $pSdkPath/$GpioPath/$GpioName14 $pSdkPath/$GpioPath/$GpioDstName  
  28.           
  29.         else  
  30.         echo "select gpio error!"  
  31.         exit 0  
  32.     fi  
  33.   
  34. }  
  35.   
  36. ###  
  37. KbPath=$DrvPath/input/keyboard  
  38.   
  39. KbNameS=sun4i-keyboard-S.c  
  40. KbNameM=sun4i-keyboard-M.c  
  41. KbName4P3=sun4i-keyboard-4point3.c  
  42. KbObjName=sun4i-keyboard.o  
  43. KbDstName=sun4i-keyboard.c  
  44.   
  45. function process_keyboard()  
  46. {  
  47.     echo "proccess_keyboard: $0 $1"  
  48.   
  49.     rm -vf $pSdkPath/$KbPath/$KbObjName  
  50.   
  51.     if [ $1 = "KB-S" ] ; then   
  52.         echo "KB-S: "  
  53.         cp -rf $pSdkPath/$KbPath/$KbNameS $pSdkPath/$KbPath/$KbDstName   
  54.           
  55.         elif [ $1 = "KB-M" ] ; then  
  56.         echo "KB-M: "  
  57.         cp -rf $pSdkPath/$KbPath/$KbNameM $pSdkPath/$KbPath/$KbDstName  
  58.           
  59.         elif [ $1 = "KB-4P3" ] ; then  
  60.         echo "KB-4P3: "  
  61.         cp -rf $pSdkPath/$KbPath/$KbName4P3 $pSdkPath/$KbPath/$KbDstName  
  62.           
  63.         else  
  64.         echo "select KEYBOARD error!"  
  65.         exit 0  
  66.     fi  
  67.   
  68. }  
  69.   
  70. ###  
  71. CamDevPath=$DrvPath/media/video/sun4i_csi/device  
  72. CamCsiPath=$DrvPath/media/video/sun4i_csi/csi0  
  73. CamIncPath=$DrvPath/media/video/sun4i_csi/include  
  74.   
  75. CamDevNameComm=ov2643.c_Common  
  76. CamCsiNameComm=sun4i_drv_csi.c_Common  
  77. CamIncNameComm=sun4i_dev_csi.h_Common  
  78.   
  79. CamDevNameLed=ov2643.c_LEDTAG  
  80. CamCsiNameLed=sun4i_drv_csi.c_LEDTAG  
  81. CamIncNameLed=sun4i_dev_csi.h_LEDTAG  
  82.   
  83. CamDevDst=ov2643.c  
  84. CamCsiDst=sun4i_drv_csi.c  
  85. CamIncDst=sun4i_dev_csi.h  
  86.   
  87. function process_camera()  
  88. {  
  89.     echo "proccess_camera: $0 $1"  
  90.   
  91.     rm -vf $pSdkPath/$CamDevPath/*.o  $pSdkPath/$CamDevPath/*.ko $pSdkPath/$CamCsiPath/*.o  
  92.   
  93.     if [ $1 = "CAM-COM" ] ; then   
  94.         echo "CAM-COM: "  
  95.         cp -vf $pSdkPath/$CamDevPath/$CamDevNameComm $pSdkPath/$CamDevPath/$CamDevDst  
  96.         cp -vf $pSdkPath/$CamCsiPath/$CamCsiNameComm $pSdkPath/$CamCsiPath/$CamCsiDst  
  97.         cp -vf $pSdkPath/$CamIncPath/$CamIncNameComm $pSdkPath/$CamIncPath/$CamIncDst  
  98.           
  99.         elif [ $1 = "CAM-LED" ] ; then  
  100.         echo "CAM-LED: "  
  101.         cp -vf $pSdkPath/$CamDevPath/$CamDevNameLed $pSdkPath/$CamDevPath/$CamDevDst  
  102.         cp -vf $pSdkPath/$CamCsiPath/$CamCsiNameLed $pSdkPath/$CamCsiPath/$CamCsiDst  
  103.         cp -vf $pSdkPath/$CamIncPath/$CamIncNameLed $pSdkPath/$CamIncPath/$CamIncDst  
  104.   
  105.         else  
  106.         echo "select CAMERA error!"  
  107.         exit 0  
  108.     fi  
  109. }  
  110.   
  111. ###  
  112. DispPath=$DrvPath/video/sun4i/lcd  
  113.   
  114. DispSrcNameRgb=lcd0_panel_cfg_20141117_rgb.c  
  115. DispSrcNameLvds=lcd0_panel_cfg_20141117_lvds.c  
  116.   
  117. DispDstName=lcd0_panel_cfg.c  
  118.   
  119. function process_display()  
  120. {  
  121.     echo "proccess_display: $0 $1"  
  122.     rm $pSdkPath/$DrvPath/video/sun4i/lcd/*.o  
  123.   
  124.     if [ $1 = "LCD-RGB" ] ; then   
  125.         echo "LCD-RGB: "  
  126.         cp -vf $pSdkPath/$DispPath/$DispSrcNameRgb $pSdkPath/$DispPath/$DispDstName  
  127.           
  128.         elif [ $1 = "LCD-LVDS" ] ; then  
  129.         echo "LCD-LVDS: "  
  130.         cp -vf $pSdkPath/$DispPath/$DispSrcNameLvds $pSdkPath/$DispPath/$DispDstName  
  131.           
  132.         else  
  133.         echo "select DISPLAY I/F error!"  
  134.         exit 0  
  135.     fi  
  136.       
  137. }  
  138.   
  139. ###  
  140. SuiPath=android4.0/frameworks/base/packages/SystemUI/src/com/android/systemui  
  141.   
  142. SuiSrcNameUp=SystemUIService.java_UP  
  143. SuiSrcNameDown=SystemUIService.java_DOWN  
  144.   
  145. SuiDstName=SystemUIService.java  
  146.   
  147. function process_SystemUI()  
  148. {  
  149.     echo "proccess_SystemUI: $0 $1"  
  150.   
  151.     if [ $1 = "UI-UP" ] ; then   
  152.         echo "UI-UP: "  
  153.         cp -vf $pSdkPath/$SuiPath/$SuiSrcNameUp $pSdkPath/$SuiPath/$SuiDstName  
  154.           
  155.         elif [ $1 = "UI-DOWN" ] ; then  
  156.         echo "UI-DOWN: "  
  157.         cp -vf $pSdkPath/$SuiPath/$SuiSrcNameDown $pSdkPath/$SuiPath/$SuiDstName  
  158.           
  159.         else  
  160.         echo "select SystemUI error!"  
  161.         exit 0  
  162.   
  163.     fi  
  164.   
  165. }  
  166.   
  167. ###  
  168. SbPath=android4.0/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar  
  169.   
  170. SbSrcNameAdd=StatusBar.java_ADD  
  171. SbSrcNameRemove=StatusBar.java_REMOVE  
  172.   
  173. SbDstName=StatusBar.java  
  174.   
  175. function process_StatusBar()  
  176. {  
  177.     echo "proccess function_StatusBar: "  
  178.   
  179.     if [ $1 = "BAR-ADD" ] ; then   
  180.         echo "BAR-ADD: "  
  181.         cp -vf $pSdkPath/$SbPath/$SbSrcNameAdd $pSdkPath/$SbPath/$SbDstName  
  182.           
  183.         elif [ $1 = "BAR-REMOVE" ] ; then  
  184.         echo "PY-REMOVE: "  
  185.         cp -vf $pSdkPath/$SbPath/$SbSrcNameRemove $pSdkPath/$SbPath/$SbDstName  
  186.           
  187.         else  
  188.         echo "select StatusBar error!"  
  189.         exit 0  
  190.     fi  
  191. }  
  192.   
  193. ###  
  194. AppInputPath=/home/carlton/jacktestplace/Routine/update_app_a10  
  195. OutDirPath=android4.0/out/target/product  
  196. DevPath=android4.0/device/softwinner  
  197.   
  198. function process_app()  
  199. {  
  200.   
  201.     local LunchName=crane-$1  
  202.     echo "LunchName = $LunchName"  
  203.   
  204.     rm -rvf $pSdkPath/$OutDirPath/$LunchName/*.img $pSdkPath/$OutDirPath/$LunchName/system  
  205.     rm -vf $pSdkPath/$DevPath/$LunchName/apkinstall/*   
  206.     rm -vf $pSdkPath/$DevPath/$LunchName/apklib/*   
  207.     cp -vf $AppInputPath/$1/apkinstall/* $pSdkPath/$DevPath/$LunchName/apkinstall  
  208.     cp -vf $AppInputPath/$1/apklib/* $pSdkPath/$DevPath/$LunchName/apklib  
  209.   
  210. }  
  211.   
  212. function process_preprare()  
  213. {  
  214.     echo "@@@@@@@@@@@@@@@@@@@@@@@@@"  
  215.     echo "proccess function: $0 $1 $2"  
  216.   
  217. ###小门口机  
  218.     if [ $1 = "mc-v21" ] ; then  
  219.         echo "#BRANCH: mc-v21 zone8_outdoor"  
  220.         process_camera "CAM-LED"  
  221.         process_display "LCD-LVDS"  
  222.         process_app $1  
  223.   
  224. ###4.3寸  
  225.     elif [ $1 = "mc-v40c" ] ; then  
  226.         echo "#BRANCH: mc-v40c zone8_outdoor"  
  227.         process_keyboard "KB-4P3"  
  228.         process_StatusBar "BAR-REMOVE"  
  229.         process_SystemUI "UI-DOWN"  
  230.         process_app $1  
  231.   
  232.     elif [ $1 = "com-v40c" ] ; then  
  233.         echo "#BRANCH: com-v40c zone8_outdoor"  
  234.         process_keyboard "KB-4P3"  
  235.         process_StatusBar "BAR-REMOVE"  
  236.         process_SystemUI "UI-DOWN"  
  237.         process_app $1  
  238.   
  239. ###小门口机和4.3寸之外  
  240.     else  
  241.         if [ $2 = "zone8_indoor" ] ; then      
  242.             echo "#BRANCH: $1 八防区 室内机"  
  243.             process_app $1  
  244.   
  245.         elif [ $2 = "zone4_indoor" ] ; then  
  246.             echo "#FIXME: $1 四防区 室内机:出现错误:不支持该机器!!!"  
  247.             exit 0  
  248.   
  249.         elif [ $2 = "zone8_outdoor" ] ; then  
  250.             echo "#BRANCH: $1 八防区 门口机"  
  251.             process_keyboard "KB-M"  
  252.             process_app $1  
  253.   
  254.         elif [ $2 = "zone4_outdoor" ] ; then  
  255.             echo "#FIXME: $1 四防区 室内机:出现错误:不支持该机器!!!"  
  256.             exit 0  
  257.   
  258.         else  
  259.             echo "#ERROR: 严重错误,请检查process处理函数的传入参数!!!"  
  260.             exit 0  
  261.         fi  
  262.   
  263.     fi  
  264.   
  265. }  
  266.   
  267. function process_recovery()  
  268. {  
  269.     process_gpio "IO-20"  
  270.     process_keyboard "KB-S"  
  271.     process_camera "CAM-COM"  
  272.     process_display "LCD-RGB"  
  273.     process_StatusBar "BAR-ADD"  
  274.     process_SystemUI "UI-UP"  
  275. }  


[plain] view plain copy
  1. #!/bin/bash  
  2.   
  3. mSdkPath=/home/carlton/jacktestplace/a10_Project/android40_A10  
  4. PdtPath=android4.0/out/target/product  
  5. ApkPath=""  
  6. LibPath=""  
  7. OutPath=""  
  8.   
  9. function process_ApkPath()  
  10. {  
  11. echo "processing lunch ApkPath:"  
  12.   
  13.     ApkPath=$mSdkPath/$PdtPath/crane-$1/system/app  
  14.     LibPath=$mSdkPath/$PdtPath/crane-$1/system/lib  
  15.     OutPath=$mSdkPath/$PdtPath/crane-$1  
  16.   
  17. }  
  18.   
  19. function process_Pinyin_remove()  
  20. {  
  21.     ls -al $ApkPath/PinyinIME.apk  
  22.     ls -al $LibPath/libjni_pinyinime.so  
  23.     rm -vf $ApkPath/PinyinIME.apk  
  24.     rm -vf $LibPath/libjni_pinyinime.so  
  25. }  
  26.   
  27. function process_ime()  
  28. {  
  29.     echo "@#@#@#@#@#@#@#@#@#@#@#@#@#@#@"  
  30.     pwd  
  31.     process_ApkPath $1  
  32.     echo $ApkPath  
  33.     echo $LibPath  
  34.     echo $OutPath  
  35.   
  36.       
  37.     if [ $2 = "py-add" ] ; then  
  38.         echo "PinyinIME.apk add"  
  39.   
  40.     elif [ $2 = "py-remove" ] ; then  
  41.         echo "PinyinIME.apk remove"  
  42.         process_Pinyin_remove;  
  43.         read -p "Press ENTER to continue" var  
  44.         pwd  
  45.         make snod  
  46.       
  47.     elif [ $2 = "3rdIME-add" ] ; then  
  48.         echo "add the 3rd party IME"  
  49.   
  50.     else  
  51.         echo "error!!!"  
  52.         exit 0  
  53.     fi  
  54.   
  55. }  

0 0
原创粉丝点击