CN103593289A - 一种安卓机顶盒生产测试软件的设计方法 - Google Patents
一种安卓机顶盒生产测试软件的设计方法 Download PDFInfo
- Publication number
- CN103593289A CN103593289A CN201310560623.XA CN201310560623A CN103593289A CN 103593289 A CN103593289 A CN 103593289A CN 201310560623 A CN201310560623 A CN 201310560623A CN 103593289 A CN103593289 A CN 103593289A
- Authority
- CN
- China
- Prior art keywords
- recovery
- android
- command
- top box
- set top
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种安卓机顶盒生产测试软件的设计方法,其具体设计过程为:设计生产测试软件的入口:首先设计启动时以组合键方式进入recovery***,若启动过程中用户没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息块BCB;当启动命令为“boot-recovery”时,***会进入Recovery模式,Recovery服务会根据相关命令执行相应的操作;当启动命令为空时,即没有任何命令,***会进入正常的启动,最后进入android***;设计数据存储和用户界面。该一种安卓机顶盒生产测试软件的设计方法和现有技术相比,提高互动性和直观性,实用性强,易于推广。
Description
技术领域
本发明涉及通信信息技术领域,具体的说是一种基于recovery模式、安卓机顶盒生产测试软件的设计方法。
背景技术
安卓***由于其***复杂性,启动时间长是其存在的主要问题,大量时间花费在zygote预装载类、初始化堆栈和安装包扫描上,几度优化后其开机时间仍在30秒左右。而且进行生产测试的机顶盒往往是烧写完固件后的首次运行,其开机时间更长。目前安卓机顶盒的生产测试大多采用进入安卓***后通过特殊操作或条件判断触发进入生产测试应用程序的方式,这种测试方式大量时间浪费在开机过程中,直接影响生产测试的效率。有的厂商设计一套linux的生产测试固件来缩短进入生产测试软件的时间,但是通过产测的机顶盒在出厂前还需烧制一次安卓固件,增加了生产流程工序,变相的降低了生产测试效率。
安卓***自带了Recovery模式,用来进行恢复出厂设置,OTA升级,patch升级及firmware升级等操作。Recovery模式其本质上是一个最小化的Linux***,Recovery System和Android System构成了一个双***架构,两者均通过Boot的引导进入。基于此,现提供一种基于该模式生产测试软件的设计方法,可以大大缩短进入产测程序的时间,提高产测效率,同时recovery就是安卓固件的一部分,可同安卓固件一同烧制,减少生产流程工序。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种基于recovery模式、安卓机顶盒生产测试软件的设计方法。
本发明的技术方案是按以下方式实现的,该一种安卓机顶盒生产测试软件的设计方法,其具体设计过程为:
一、设计生产测试软件的入口:
1)首先设计启动时以组合键方式进入recovery***,若启动过程中用户没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息块BCB;
2)当启动命令为“boot-recovery”时,***会进入Recovery模式,Recovery服务会根据相关命令执行相应的操作;当启动命令为空时,即没有任何命令,***会进入正常的启动,最后进入android***;
二、设计数据存储和用户界面:Recovery和android***通过cache分区传递命令以及保存recovery升级的日志文件,同时该Recovery模式下提供一套minui的图形接口,该接口通过文字显示或者贴图示意的方式将当前测试项及测试之后的结果直观地展示给测试人员。
所述cache分区保存网络下载的升级包,以及用来保存临时数据:生产测试的数据可以用特定的文件名储存在cache分区中,从而可以在掉电后保留已测试项的结果。
本发明与现有技术相比所产生的有益效果是:
本发明的一种安卓机顶盒生产测试软件的设计方法采用安卓的recovery模式进行生产测试,大大提高了测试效率,Recovery模式完全可以胜任对基本外设的生产测试,确保硬件的无故障性,减少有故障的机顶盒进入市场,而且可以基于minui开发图形用户界面,提高互动性和直观性,实用性强,易于推广。
附图说明
附图1是本发明的实现流程示意图。
具体实施方式
下面结合附图对本发明的一种安卓机顶盒生产测试软件的设计方法作以下详细说明。
本发明提供一种基于recovery模式、安卓机顶盒生产测试软件的设计方法,安卓利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级等操作。Recovery模式其本质上是一个最小化的Linux***,其启动时间(一般5s左右)远远小于安卓***的启动时间(一般30s以上)。为了提高安卓机顶盒生产测试的效率,采用基于recovery模式开发生产测试软件的方法可以大大缩短开机时间提供测试效率。如附图1所示,其具体设计过程为:
一、设计生产测试软件的入口:
1)一般情况下,启动时以组合键方式进入recovery***,若启动过程中用户没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息块BCB(Bootloader Control Block)。它是一个结构体,存放着启动命令command,其定义为:
struct bootloader_message{
char command[32]; //存放不同的启动命令
char status[32]; //update-radio或update-hboot完成存放执行结果
char recovery[1024]; } //存放/cache/recovery/command中的命令
在上述技术方案中,BootLoader就是在操作***内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将***的软硬件环境带到一个合适状态,以便为最终调用操作***内核准备好正确的环境;上述技术方案中,BCB是Bootloader Control Block的简称,它是一个结构体,存放着启动命令command,misc分区中存在该Bootloader Control Block,主要是用于存放Recovery引导信息。
当command=="boot-recovery"时,***会进入Recovery模式。Recovery服务会具体根据char recovery[1024]或/cache/recovery/command中的命令执行相应的操作(例如,升级update.zip或擦除cache,data等)。当command为空时,即没有任何命令,***会进入正常的启动,最后进入android***。
2)当启动命令为“boot-recovery”时,***会进入Recovery模式,Recovery服务会根据相关命令执行相应的操作;当启动命令为空时,即没有任何命令,***会进入正常的启动,最后进入android***;
二、设计数据存储和用户界面:
Recovery和android***通过cache分区传递命令(/cache/recovery/command),以及保存recovery升级的日志文件(/cache/recovery/last_log)。此分区还可以保存网络下载的升级包,以及用来保存一些临时数据。我们生产测试的数据可以用特定的文件名储存在cache分区中,从而可以在掉电后保留已测试项的结果,避免重复测试,并且可以在进入安卓后再次查看生产测试的结果。
Recovery模式下提供了一套minui的图形接口,利用这些接口可以通过文字显示或者贴图示意的方式将当前测试项及测试之后的结果直观地展示给测试人员,大大提高了测试效率。
实施例:修改recovery代码,使进入生产测试时设置的BCB为command =”boot-recovery”,recovery=”-now_mteset”。在初始的镜像中都按照该BCB烧制,可保证机顶盒开机自动进入recovery模式,并自动运行生产测试软件。只要不清空BCB分区,每次开机都会自动进入产测软件,当产测完成后,在软件中设置清空BCB分区,重启后会进入安卓***。
通过调用平台SDK提供的接口和linux***命令来实现电视播放、网口测试、USB口测试、序列号写入、Wifi测试、Tuner测试、智能卡测试、前面板测试和遥控器测试等一系列功能。可能recovery模式本身较为精简,可以根据实际测试需要移植少量驱动或bin文件到recovery模式中方便测试项的开发。
在进入生产测试软件后通过minui接口绘制图形用户界面,显示按键值和对应测试选项,按下遥控器下对应按键进入相应测试项,进行完测试内容后自动更新测试结果到用户界面,直观简洁。软件支持测试结果保存,掉电重启后可以自动分析cache分区上保存的文件,恢复已测项的结果,而且可以在进入安卓***后查看生产测试的结果。
除说明书所述的技术特征外,均为本领域技术人员的公知技术。
Claims (2)
1.一种安卓机顶盒生产测试软件的设计方法,其特征在于,其具体设计过程为:
一、设计生产测试软件的入口:
1)首先设计启动时以组合键方式进入recovery***,若启动过程中用户没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息块BCB;
2)当启动命令为“boot-recovery”时,***会进入Recovery模式,Recovery服务会根据相关命令执行相应的操作;当启动命令为空时,即没有任何命令,***会进入正常的启动,最后进入android***;
二、设计数据存储和用户界面:Recovery和android***通过cache分区传递命令以及保存recovery升级的日志文件,同时该Recovery模式下提供一套minui的图形接口,该接口通过文字显示或者贴图示意的方式将当前测试项及测试之后的结果直观地展示给测试人员。
2.根据权利要求1所述的安卓机顶盒生产测试软件的设计方法,其特征在于,所述cache分区保存网络下载的升级包,以及用来保存临时数据:生产测试的数据可以用特定的文件名储存在cache分区中,从而可以在掉电后保留已测试项的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560623.XA CN103593289A (zh) | 2013-11-12 | 2013-11-12 | 一种安卓机顶盒生产测试软件的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560623.XA CN103593289A (zh) | 2013-11-12 | 2013-11-12 | 一种安卓机顶盒生产测试软件的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103593289A true CN103593289A (zh) | 2014-02-19 |
Family
ID=50083440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310560623.XA Pending CN103593289A (zh) | 2013-11-12 | 2013-11-12 | 一种安卓机顶盒生产测试软件的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593289A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333484A (zh) * | 2014-10-28 | 2015-02-04 | 广东欧珀移动通信有限公司 | 通信协议测试方法及装置 |
CN104375911A (zh) * | 2014-11-24 | 2015-02-25 | 上海盈方微电子有限公司 | 一种基于安卓平台工程模式的快速安卓整机功能检测方法 |
CN104536841A (zh) * | 2014-11-26 | 2015-04-22 | 四川长虹电器股份有限公司 | 一种Android***Data分区自修复方法及*** |
CN105025364A (zh) * | 2014-04-15 | 2015-11-04 | Tcl集团股份有限公司 | 一种智能电视ota延迟升级的方法 |
CN105094933A (zh) * | 2015-09-18 | 2015-11-25 | Tcl集团股份有限公司 | 一种AndroidTV***升级后异常的处理方法和装置 |
CN105142022A (zh) * | 2015-08-12 | 2015-12-09 | 浪潮软件集团有限公司 | 一种高安机顶盒的生产升级方法 |
CN105260205A (zh) * | 2015-09-30 | 2016-01-20 | 中山市天启电子科技有限公司 | 一种嵌入式板上实现双操作***启动的方法 |
CN105468504A (zh) * | 2014-08-06 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 程序测试方法及装置 |
CN105652115A (zh) * | 2015-12-25 | 2016-06-08 | 广州视源电子科技股份有限公司 | 主板测试方法及其***、主板程序安装方法及其*** |
CN105744365A (zh) * | 2016-02-01 | 2016-07-06 | 烽火通信科技股份有限公司 | 基于Android***的智能机顶盒的升级方法 |
CN109089108A (zh) * | 2018-08-15 | 2018-12-25 | 晶晨半导体(上海)股份有限公司 | 测试方法及*** |
US10339634B2 (en) | 2015-12-11 | 2019-07-02 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image reconstruction |
CN112069009A (zh) * | 2020-09-04 | 2020-12-11 | 广东小天才科技有限公司 | 一种在Recovery模式下进行压力测试的方法、装置和终端设备 |
CN112986804A (zh) * | 2021-04-28 | 2021-06-18 | 成都万创科技股份有限公司 | 一种基于Android设备量产过程中测试PCBA的软件实现方法 |
WO2023000777A1 (zh) * | 2021-07-23 | 2023-01-26 | 荣耀终端有限公司 | 一种recovery模式升级过程中的重启方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282289A1 (en) * | 2008-05-06 | 2009-11-12 | Microsoft Corporation | Generation and evaluation of test cases for software validation and proofs |
CN101853157A (zh) * | 2010-05-14 | 2010-10-06 | 中国科学院软件研究所 | 一种应用软件gui对象自动识别方法 |
CN102360334A (zh) * | 2011-10-17 | 2012-02-22 | 中国人民解放军信息工程大学 | 一种动静态结合的软件安全性测试方法 |
-
2013
- 2013-11-12 CN CN201310560623.XA patent/CN103593289A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282289A1 (en) * | 2008-05-06 | 2009-11-12 | Microsoft Corporation | Generation and evaluation of test cases for software validation and proofs |
CN101853157A (zh) * | 2010-05-14 | 2010-10-06 | 中国科学院软件研究所 | 一种应用软件gui对象自动识别方法 |
CN102360334A (zh) * | 2011-10-17 | 2012-02-22 | 中国人民解放军信息工程大学 | 一种动静态结合的软件安全性测试方法 |
Non-Patent Citations (2)
Title |
---|
大钟: "Android-Recovery Mode(recover模式详解)", 《HTTP://BLOG.CSDN.NET/CONOWEN/ARTICLE/DETAILS/7253503》 * |
黄心宇: "基于Android 设备的一种快速生产测试方法的研究", 《福建电脑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105025364A (zh) * | 2014-04-15 | 2015-11-04 | Tcl集团股份有限公司 | 一种智能电视ota延迟升级的方法 |
CN105468504B (zh) * | 2014-08-06 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 程序测试方法及装置 |
CN105468504A (zh) * | 2014-08-06 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 程序测试方法及装置 |
CN104333484B (zh) * | 2014-10-28 | 2017-07-28 | 广东欧珀移动通信有限公司 | 通信协议测试方法及装置 |
CN104333484A (zh) * | 2014-10-28 | 2015-02-04 | 广东欧珀移动通信有限公司 | 通信协议测试方法及装置 |
CN104375911A (zh) * | 2014-11-24 | 2015-02-25 | 上海盈方微电子有限公司 | 一种基于安卓平台工程模式的快速安卓整机功能检测方法 |
CN104536841A (zh) * | 2014-11-26 | 2015-04-22 | 四川长虹电器股份有限公司 | 一种Android***Data分区自修复方法及*** |
CN104536841B (zh) * | 2014-11-26 | 2018-04-06 | 四川长虹电器股份有限公司 | 一种Android***Data分区自修复方法及*** |
CN105142022A (zh) * | 2015-08-12 | 2015-12-09 | 浪潮软件集团有限公司 | 一种高安机顶盒的生产升级方法 |
CN105094933A (zh) * | 2015-09-18 | 2015-11-25 | Tcl集团股份有限公司 | 一种AndroidTV***升级后异常的处理方法和装置 |
CN105260205A (zh) * | 2015-09-30 | 2016-01-20 | 中山市天启电子科技有限公司 | 一种嵌入式板上实现双操作***启动的方法 |
CN105260205B (zh) * | 2015-09-30 | 2018-11-06 | 中山市天启智能科技有限公司 | 一种嵌入式板上实现双操作***启动的方法 |
US10339634B2 (en) | 2015-12-11 | 2019-07-02 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image reconstruction |
US11341613B2 (en) | 2015-12-11 | 2022-05-24 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image reconstruction |
CN105652115A (zh) * | 2015-12-25 | 2016-06-08 | 广州视源电子科技股份有限公司 | 主板测试方法及其***、主板程序安装方法及其*** |
CN105744365A (zh) * | 2016-02-01 | 2016-07-06 | 烽火通信科技股份有限公司 | 基于Android***的智能机顶盒的升级方法 |
CN109089108A (zh) * | 2018-08-15 | 2018-12-25 | 晶晨半导体(上海)股份有限公司 | 测试方法及*** |
CN112069009A (zh) * | 2020-09-04 | 2020-12-11 | 广东小天才科技有限公司 | 一种在Recovery模式下进行压力测试的方法、装置和终端设备 |
CN112986804A (zh) * | 2021-04-28 | 2021-06-18 | 成都万创科技股份有限公司 | 一种基于Android设备量产过程中测试PCBA的软件实现方法 |
WO2023000777A1 (zh) * | 2021-07-23 | 2023-01-26 | 荣耀终端有限公司 | 一种recovery模式升级过程中的重启方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593289A (zh) | 一种安卓机顶盒生产测试软件的设计方法 | |
CN102662689B (zh) | 基于usb接口的嵌入式软件升级方法及*** | |
US9319822B2 (en) | Over-the-air update method for continuous delta of an Android operating system of a handheld device | |
CN106933593B (zh) | 一种基于移动终端的***切换方法和装置 | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN109089108A (zh) | 测试方法及*** | |
CN104199691B (zh) | 一种基于安卓平台的开机自启动apk的方法及终端 | |
CN103593281B (zh) | 测试***及测试方法 | |
CN106095480A (zh) | 一种光模块固件升级的方法及装置 | |
CN103136002B (zh) | 一种基于UBoot的自动升级的控制方法及*** | |
CN102890638B (zh) | 一种机顶盒升级方法 | |
CN1783004A (zh) | 使用可扩展固件接口的持久性存储器操作 | |
CN108388496A (zh) | 一种***日志的收集方法 | |
CN101344854A (zh) | 通过SD卡对嵌入式Linux设备进行升级的方法 | |
CN105573797B (zh) | 嵌入式***的可逆离线升级方法及装置 | |
CN106293987B (zh) | 一种修复终端开机异常的方法和装置 | |
CN104125504B (zh) | 一种基于持续集成的部署方法、装置及*** | |
CN102799452B (zh) | ***软件升级方法和装置 | |
CN102662717A (zh) | 一种嵌入式***自引导启动方法 | |
CN105607921B (zh) | 一种基于Android***的***服务启动方法及*** | |
CN104899091A (zh) | 一种智能嵌入式设备多操作***切换方法 | |
CN102609290B (zh) | 电子产品的软件升级方法 | |
CN107368343A (zh) | 一种基于安卓***的终端开机方法、终端及存储介质 | |
CN103577201A (zh) | 嵌入式双***的更新方法及*** | |
CN104731568A (zh) | 应用程序的运行方法和运行装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140219 |