安卓终端快速升降级工具

目录

  1. 简介 1
    1.1 编写目的 1
    1.2 背景 1
    1.3 术语和缩写 1
    1.4 参考资料 1

  2. 总体说明 1
    2.1 需求说明 2
    2.2 方案对比及选择 2
    2.3 系统说明 3
    2.4 运行环境 4
    2.5 基本处理流程 4
    2.6 涉及技术点说明 5

  3. 修订记录 7

  4. 简介
    1.1 编写目的
    本文档目的在于明确安卓终端快速升降级工具设计过程。
    1.2 背景
    此工具需要为安卓的统一升级工具,其一可以减少测试人员工具寻找的紊乱程度,其二可以减少升级兼容性测试的工作时间损耗,以达到规范测试过程及提高测试效率的目的。
    1.3 术语和缩写
    术语/缩写 含 义
    安卓终端快速升降级工具 快速升降级的一个工具系统。由服务器和apk组成,可以通过在信息发布设备上选择指定升级包进行快速升级。
    Minio Minio是Apache License v2.0下发布的对象存储服务器。可以使宿主计算机转换为一个储存服务器,可以存储信息发布升级包,供信息发布设备远程使用。
    IRSupgradeTool.apk 安卓应用软件,可以安装到信息发布设备上。其可以从minio服务器上下载系统安装包并进行安装的功能。

表1.1 术语缩写
1.4 参考资料
1.《快速升降级工具开发需求文档》
2. 总体说明
2.1 需求说明
安卓终端快速升降级工具,其具体需求如下:
2.2 方案对比及选择
方案比对
方案一:通过 sideload 更新系统,使用adb进行操作。
优点:使用adb操作的方式进行系统更新,可以与原有的安卓通用工具集成到一起,方便操作;使用adb通过sideload更新系统,可以升级不同形式的系统包。
缺点:通过sideload升级,需要信息发布设备进入到recovery模式下。由于信息发布设备禁用了USB连接PC后完成了adb的桥接,在recovery下也无法通过远程的方式开启adb服务,导致通过sideload的升级方式不可行。
方案二:通过SDK进行升级。
方案三:通过HTTP接口,进行远程升级。
方案四:通过minio服务器&安卓官方接口进行远程升级。
优点:存储服务器+应用程序的模式,操作较为简单。具体表现在环境配置完之后,在信息发布设备上只需要安装一个apk即可远程升降级。系统安装包可以统一管理,系统包数目可扩展。使用安卓官方接口,后期可将程序扩展到其他产品上。
缺点:升级方式只支持OTA包升级的方式,ROM包形式不支持。
方案选择
基于以上分析,方案一和方案三存在可行性缺陷,不予以选择。方案二存在一定局限性,不基于次方案进行实现。方案四,拥有较为便捷的操作方式及文件管理方式,最终选择方案四进行实现。
2.3 系统说明
快速升降级工具由两部分组成,一部分为服务器,另一部分为安卓应用apk。服务器提供对象存储服务,其物理载体可以为自己的工作电脑,使用的软件系统为minio;安卓应用通过远程方式访问宿主计算机获取升级包,而后进行系统升级以完成信息发布快速升级的工作。
整个系统的逻辑框图如图:2.1.1所示:
在这里插入图片描述

图2.1.1
2.4 运行环境
IRSupgradeTool.apk
操作系统:安卓系统
Minio服务器
操作系统:windows7 windows10
2.5 基本处理流程
服务器创建过程

  1. 创建minio 存储服务器,获取AccessKey和SecretKEY供访问服务器使用;
    应用软件开发过程
  2. 连接服务器。创建minioClient,输入访问路径及账密组合,获取到服务器的访问权限;
  3. 初始化应用软件界面。根据minio服务器上的文件夹数自动创建按钮数;
  4. 安装包下载。判断安装包的名称进行安装包的下载,可下载的类型为OTA系统包,安装包名字需要为update.zip;
  5. 系统包安装。获取设备的最高管理权限,而后采用OTA官方升级方法进行,即升级包验证和设备升级,即RecoverySystem.verifyPackage和RecoverySystem.installPackage方法。
    2.6 涉及技术点说明
  6. minio服务器
    简介
    Minio 是一个基于Apache License v2.0开源协议的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
    存储机制
    Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据。
    在AS中使用minio
    创建minio客户端
    在这里插入图片描述
    基于minio下载OTA升级包(OTA升级包的文件名为update.zip)
    在这里插入图片描述
    在这里插入图片描述
  7. RecoverySystem
    简介
    在RecoverySystem类中有verifyPackage与installPackage两个重要方法,通过他们能够实现OTA升级。
    处理过程
    Recovery校验。通过RecoverySystem的verifyPackage方法对zip包进行验证。同时通过传入ProgressListener来跟踪校验进度。如果出现异常则将升级包删除。
    Recovery安装。通过RecoverySystem.installPackage方法对zip包进行安装,同时通过传入ProgressListener来跟踪安装进度。安装完毕后,installPackage方法会调用bootCommand重启机器。

实际应用代码:
如果想了解Android Recovery升级原理,可以点击本段文字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值