<GMS>编译流程

  1 #!/bin/bash
  2 MY_ANDROID_DIR=$(pwd)
  3 MY_BUILD_BOARD="polaris-g739_wifi_hd"
  4 GMS_DEVICE=V_TAB_7_LITE_II
  5 GMS_PRODUCT=V_TAB_7_LITE_II
  6 IS_CLEAN_ANDROID=
  7
  8 function exports_env()
  9 {
 10     source build/envsetup.sh
 11     lunch V_TAB_7_LITE_II-user
 12 }
 13
 14 function gms_clean()
 15 {
 16     rm -rf out/dist/
 17     make installclean
 18 }
 19
 20 function gms_build_firm()
 21 {
 22
 23     make -j12
 24     pack $MY_BUILD_BOARD
 25     get_uboot $MY_BUILD_BOARD
 26     make -j8 dist
 27 }
 28
 29 function gms_signed()
 30 {
 31     ./build/tools/releasetools/sign_target_files_apks -d device/softwinner/V_TAB_7_LITE_II/security out/dist/V_TAB_7_LITE_II-target_files-$(date +%Y%m%d).zip out/dist/signed-target-files.zip
 32
 34 expect -c"
 35     set timeout 1200;
 36
 37     spawn ./build/tools/releasetools/sign_target_files_apks -d device/softwinner/V_TAB_7_LITE_II/security -e cn.wps.moffice_eng.apk,com.vestel.smartcenter.apk,com.estrongs.android.pop.apk,VideoTest.apk,DragonFire.apk,DragonPhone.apk,SoftWinnerService.apk,SoftWinnerService.apk,com.mxtech.videoplayer.ad.apk=device/softwinner/V_TAB_7_LITE_II/security/releasekey out/dist/V_TAB_7_LITE_II-target_files-$(date +%Y%m%d).zip out/dist/signed-target-files.zip
 38
 39     expect {
 40                 \"*password*\" {send \"brn\r\"; exp_continue}
 41                 \"*password*\" {send \"brn\r\"; exp_continue}
 42                 \"*password*\" {send \"brn\r\"; exp_continue}
 43                 \"*password*\" {send \"brn\r\"; }
 44     };"
 45
 46
 47 }
 48 function gms_makeimg()
 49 {
 50     ./build/tools/releasetools/img_from_target_files out/dist/signed-target-files.zip out/dist/signed-img.zip
 51     rm -rf out/dist/signed-img/
 52     mkdir -p out/dist/signed-img
 53     unzip out/dist/signed-img.zip -d out/dist/signed-img
 54     cp out/dist/signed-img/*.img $OUT/
 55     pack -s $MY_BUILD_BOARD
 56 }
 57 function gms_auto_sign()
 58 {
 59     local UNSIGNED_APK=`./build/tools/releasetools/sign_target_files_apks -d device/softwinner/$GMS_DEVICE/security out/dist/$GMS_PRODUCT-target_files-$(date +%Y%m%d).zip out/dist/signed-target-files.zip | grep \.apk$ | awk ‘{printf "%s,",$0}‘ | sed -e ‘s/ //g‘ | sed -e ‘s/,$//g‘`
 60     echo $UNSIGNED_APK
 61     expect -c "" sign_apk $GMS_DEVICE $GMS_PRODUCT $UNSIGNED_APK
 62 }
 63 function gms_ota()
 64 {
 65     ./build/tools/releasetools/ota_from_target_files out/dist/signed-target-files.zip out/dist/signed-ota.zip
 66     BUILD_OTA_INC=
 67     ls *.zip >/dev/null 2>&1
 68     if [ $? -eq 0 ] ;then
 69         BUILD_OTA_INC="true"
 70         mv *.zip old-signed-target-files.zip
 71         if [ $? -eq 0 ] ;then
 72             echo "发现GMS-OTA基础包,修改名称为old-signed-target-files.zip,编译差分包!!"
 73         else
 74             echo "android目录下已经有.zip的压缩包,请确认删除后编译"
 75         fi
 76     fi
 77     if [ "$BUILD_OTA_INC" = "true" ]; then
 78         echo -e "\033[31m============== BUILD_OTA_INC=$BUILD_OTA_INC ============== \033[0m"
 79        ./build/tools/releasetools/ota_from_target_files -i old-signed-target-files.zip out/dist/signed-target-files.zip out/dist/signed-ota-inc-`date +%Y%m%d`.zip
 80     fi
 81 }
 82
 83 while getopts b:c OPTION
 84 do
 85      case $OPTION in
 86         c) IS_CLEAN_ANDROID=1
 87         ;;
 88         b) MY_BUILD_BOARD=$OPTARG
 89         ;;
 90         m) MY_PASSWORD=$OPTARG
 91         ;;
 92      esac
 93 done
 94
 95 exports_env
 96 gms_clean
 97 gms_build_firm
 98 gms_auto_sign
 99 gms_makeimg
100 gms_ota
时间: 2024-10-29 13:36:09

<GMS>编译流程的相关文章

React Native Android Gradle 编译流程浅析

[工匠若水 http://blog.csdn.net/yanbober 未经允许严禁转载,请尊重作者劳动成果.私信联系我] 1 背景 前面已经发车了一篇<React Native Android 从学车到补胎和成功发车经历>,接着就该好好琢磨一下 React Native 周边了,没看第一篇的可以先去看看:这里我们先从 React Native 的 Android 编译来简单揭晓一下 React Native 在集成的过程中到底干了哪些不可告人的坏事:由于我们项目准备以 Gradle 形式接入

gcc编译流程

gcc的编译流程分为四个步骤,分别为: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) 以hello.c为例子,在这四个步骤中可以设置选项分别生成hello.i, hello.s, hello.o以及最终的hello文件:     hello.c : 最初的源代码文件:      hello.i : 经过编译预处理的源代码,将会把#开头的文件进行处理,包括宏以及包含等等,使用gcc -E(大写)命令可以输出此文件查看(注意

Android recovery分析(一)---全量升级包的编译流程

一.前言 recovery的最主要功能就是升级,而升级文件就是升级包了,那么升级包时如何编译出来的呢?文就这个问题做个简要的分析. 注:本文中的叙述纯属个人理解,欢迎批评指正. 二.升级包编译命令 1.source build/envsetup.sh 2.lunch (选择合适的配置) 3.make otapackage 注:有些平台可能没有将"recoveryimage"."bootimage"等目标添加为"otapackage"目标的依赖,而

《暗黑世界》安卓APK 编译流程详细说明教程!(图文)

原地址:http://bbs.gameres.com/forum.php?mod=viewthread&tid=223671 关于开发环境的搭建,之前的相关文档已经很详细的说明,对环境的搭建请参考以前的相关文档,如有问题,及时在论坛里提问,会有管理人员快速解答,此文档主要针对eclipse下安卓编译.    首先肯定是把暗黑世界的源码导入eclipse,源码导入进来后,就开始进行编译的准备工作,这里首先需要将Classes里面的.cpp文件和和相关的文件夹路径写进来,打开eclipse下的暗黑世

关于Linux开源项目基础组件make编译流程

?? 关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia.org/wiki/GNU_build_system 使用Autotool来编译和管理整个产品的生产流程. 就是以下这张图: 这里面须要先了解make和makefile make:https://en.wikipedia.org/wiki/Make_(software) makefile:https:

反编译流程

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看.下面是我参考了一些文章后简单的教程详解. (注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平.) 测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2ja

《暗黑世界》安卓APK 编译流程详细说明教程

(附件下载地址:http://www.9miao.com/question-15-53727.html) 关于开发环境的搭建,之前的相关文档已经很详细的说明,对环境的搭建请参考以前的相关文档,如有问题,及时在论坛(http://www.9miao.comm)里提问,会有管理人员快速解答,此文档主要针对eclipse下安卓编译. 首先肯定是把暗黑世界的源码导入eclipse,源码导入进来后,就开始进行编译的准备工作,这里首先需要将Classes里面的.cpp文件和和相关的文件夹路径写进来,打开ec

C/C++编译流程

编译的基本流程 graph TD A(预处理) --> B(编译) B --> C(汇编) C --> D(链接) 详细过程 #include <stdio.h> int main(int argc, char *argv[]) { printf("Hello World!\n"); return 0; } 预处理(cpp) gcc -E hello.c -o hello.i 预处理,主要处理以下指令:宏定义指令,条件编译指令,头文件包含指令. 预处理所完

Bullet 的 CMake 编译流程

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-family: monospace; color: red } .done { font-family: monospace; color: green } .priority { font-fami