升级包制作及原理V1.2_Law_20151224

  • 格式:doc
  • 大小:3.67 MB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Quectel Wireless Solutions Co.,Ltd.

Android 升级方案简述

版权:

版权所有 ©上海移远通信技术有限公司 2015。保留一切权利。

Copyright © Quectel Wireless Solutions Co., Ltd. 2015

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

目录

Quectel Wireless Solutions Co.,Ltd (1)

Android 升级方案简述 (1)

目录 (3)

修改记录 (4)

相关参考文档 (5)

Android 升级方案简述 (6)

1. SC10进入RECOVER系统界面进行SD卡升级介绍 (6)

1.1SC10 上SD卡的整包的格式和制作方式如下: (6)

1.1.1对于非ap部分比如modem部分的更新 (7)

1.1.2 sc10整包制作过程 (9)

1.2:简单原理分析 (10)

2.SC10差分包制作方式 (12)

2.1 sc10差分包的sd卡升级方式 (14)

SC10无线升级方案介绍 (15)

3.1 sd卡升级和无线升级方案介绍 (15)

3.2 Android APK 设置升级系统 (16)

3.3 sc10的OTA升级方式 (17)

修改记录

相关参考文档表1: 参考文档表

Android 升级方案简述

1. SC10进入RECOVER系统界面进行SD卡升级介绍

这是市面上绝大多数卡刷的结构,对于使用卡刷升级,我们不可能预先知道本机的系统版本,可能有些机子是v2版本的,有些觉得V2不好没有升级V2版本,那么现在我们有V3版本,我们如何做差分:比如说V1版本的文件1 和V3 版本的文件1 产生的差分patch是没办法用在V2版本上的(假设V2版本文件1相对V1版本做了修改),所以,手机上的卡刷升级都是用的整包

接下来我们看下sc10上整包升级的方式

1.1SC10 上SD卡的整包的格式和制作方式如下:

首先在我们通过make编译了整个代码后会在代码的out目录下自动生成制作整包的原始文件:

out/target/product/msm8909/obj/PACKAGING/target_files_intermediates下会有

msm8909-target_files-eng.XXX.zip这个文件,这个文件就是制作这个版本全包的原始文件

但是这个包中只是包含了安卓部分的整包制作原始材料,如果要对于modem等非AP部分的整包制作我们可以这样做:

1.1.1对于非ap部分比如modem部分的更新

有两种方法:

官方,也就是高通给出的方案是这样的:

Create a folder named RADIO in the path /device/qcom// and add the non-HLOS

files (non-hlos.mbn, tz.mbn, rpm.mbn, etc.) that must be upgraded into this folder.

在安卓代码目录下device/qcom// :

对于我们8909就是:

device/qcom/msm8909下创建radio这个文件夹:

这个文件默认已经存在了,所以我们在编译版本时只要将非AP部分加入到这个文件夹中就可以了。比如我们可以先将modem部分加入到这里:

cp (modem所在路径) ./device/qcom/msm8909/radio

我们看下这个文件中有什么文件:

这个名为filesmap 的文件内容是这样的:

这个文件定义了对应放入的文件名称和其相应的分区。

添加完后编译生成的整包中(我们上面描述的):

out/target/product/msm8909/obj/PACKAGING/target_files_intermediates目录下的整包原始文件

中:

的RADIO文件夹下就会有我们添加的非AP部分升级文件:(这里我只添加了modem部分)

然后第2种方法,也是经过我实际测试可行的:

我们不用把非AP部分放入device/qcom/msm8909目录下

当我们编译了版本,生成了:

out/target/product/msm8909/obj/PACKAGING/target_files_intermediates/XXX.zip这几个文件后

我们可以通过手动将modem等非AP部分文件放入:

cp (modem所在位置) \ out/target/product/msm8909/obj/PACKAGING/target_files_intermediates\msm8909-target_files-eng.root

这个文件夹的RADIO中,然后在压缩成zip格式

1.1.2 sc10整包制作过程

我们将这个文件拷贝到一个文件夹中:

cp msm8909-target_files-eng.root.zip ~/ msm8909-target_files-eng.root.zip(随便哪个目录)

拷贝完后我们回到代码根目录:

如果配置好了环境可以通过croot来回到代码根目录:

croot

到了代码根目录下,我们可以执行:

./build/tools/releasetools/ota_from_target_files-p out/host/linux-x86 -k build/target/product/security/testkey -v ~/msm8909-target_files-eng.root.zip update.zip

其中

-k build/target/product/security/testkey 是指的对包进行签名,如果不签也可省略

-v 是显示命令

~/msm8909-target_files-eng.root.zip 是指的全包的原始文件所在的位置

Update.zip是我们生成的文件名(当然也可以自己定义生成的包的位置,默认是在根目录下)

最后执行完后会在代码根目录下生成update.zip这个全包升级文件。我们可以看下全包的内容:

接下来我们将这个刷机包拷贝到sd中。

进入recovery,升级就可以了