CN110928562A - 一种用于Android盒子的软件升级方法 - Google Patents

一种用于Android盒子的软件升级方法 Download PDF

Info

Publication number
CN110928562A
CN110928562A CN201911046515.4A CN201911046515A CN110928562A CN 110928562 A CN110928562 A CN 110928562A CN 201911046515 A CN201911046515 A CN 201911046515A CN 110928562 A CN110928562 A CN 110928562A
Authority
CN
China
Prior art keywords
box
android
upgrade
upgrading
android box
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.)
Granted
Application number
CN201911046515.4A
Other languages
English (en)
Other versions
CN110928562B (zh
Inventor
赵伟
顾善中
徐良伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seuic Technologies Co Ltd
Original Assignee
JIANGSU DONGDA IC SYSTEMS ENGINEERING TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU DONGDA IC SYSTEMS ENGINEERING TECHNOLOGY CO LTD filed Critical JIANGSU DONGDA IC SYSTEMS ENGINEERING TECHNOLOGY CO LTD
Priority to CN201911046515.4A priority Critical patent/CN110928562B/zh
Publication of CN110928562A publication Critical patent/CN110928562A/zh
Application granted granted Critical
Publication of CN110928562B publication Critical patent/CN110928562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于Android盒子的软件升级方法,步骤包括:在升级控制设备与Android盒子之间搭建物理通信链路;利用物理通信链路在升级控制设备与Android盒子之间建立Socket连接;升级控制设备利用建立的Socket连接发送升级软件包至Android盒子,Android盒子接收到升级软件包后通过静默安装方式安装。该用于Android盒子的软件升级方法利用搭建的物理通信链路和建立的Socket连接实现升级控制设备与Android盒子之间的数据传输,从而能够将升级软件包发送至对应的Android盒子进行静默安装,实现了在无屏幕、无USB调试口以及不接外网的情况下对Android盒子的软件升级,方便开发者调试设备,提高了开发者的效率。

Description

一种用于Android盒子的软件升级方法
技术领域
本发明涉及一种软件升级方法,尤其是一种用于Android盒子的软件升级方法。
背景技术
在开发Android软件时,经常遇到的问题是:由于为了控制成本去除了一些不必要的模块,比如说一些Android盒子(固定式的扫描器),这些Android盒子只需要传输数据,客户不需要屏幕。因为客户本身不会调试Android,所以在硬件设计这一块也去掉了USB调试口。Android盒子只保留了以太网口,但是为了客户数据的安全,以太网没有连接到外网,Android设备处于一个小的局域网中。在这样的情况下开发者想要调试或者更新软件确实是一个很大的难题。因此,有必要设计出一种在无屏幕、无USB调试口以及不接外网的情况下,能够对Android盒子的软件进行升级的方法,方便开发者调试设备,从而提高开发者的效率。
发明内容
本发明的目的在于:提供一种用于Android盒子的软件升级方法,能够在无屏幕、无USB调试口以及不接外网的情况下,对Android盒子的软件进行升级,方便开发者调试设备,从而提高开发者的效率。
为了实现上述发明目的,本发明提供了一种用于Android盒子的软件升级方法,包括如下步骤:
步骤1,在升级控制设备与Android盒子之间搭建物理通信链路;
步骤2,利用物理通信链路在升级控制设备与Android盒子之间建立Socket连接;
步骤3,升级控制设备利用建立的Socket连接发送升级软件包至Android盒子,Android盒子接收到升级软件包后通过静默安装方式安装。
进一步地,步骤1中,搭建物理通信链路的具体步骤为:
步骤1.1,将各个Android盒子通过以太网接口连接到交换机,再将交换机连接到无线路由器;
步骤1.2,将升级控制设备无线连接至无线路由;
步骤1.3,将升级软件包存储至升级控制设备中。
进一步地,步骤2中,建立Socket连接的具体步骤为:
步骤2.1,Android盒子通过UDP协议创建组播监听固定地址和固定端口的广播,进入阻塞状态,等待接收数据;
步骤2.2,Android盒子本身创建一个Socket服务,等待升级控制设备的连接;
步骤2.3,升级控制设备根据各个Android盒子预设的地址和端口向Android盒子发送设备IP地址;
步骤2.4,Android盒子接收到设备IP地址之后,将升级控制设备的设备IP地址保存下来,再将Android盒子的盒子IP地址通过UDP协议发送给升级控制设备;
步骤2.5,升级控制设备接收到Android盒子发来的盒子IP地址,然后通过TCP/IP协议与Android盒子建立Socket连接。
进一步地,步骤3中,利用建立的Socket连接发送升级软件包的具体步骤为:
步骤3.1,升级控制设备利用Socket连接将升级软件包以字节的形式传输给Android盒子,并在传输结束时加上一个停止Flag标志;
步骤3.2,Android盒子每接收到一个字节就保存下来,并在接收到停止Flag标志时停止接收;
步骤3.3,Android盒子在停止接收后,通过静默安装方式来安装接收的升级软件包。
进一步地,步骤3.1中,在升级控制设备传输完停止Flag标志后,同时将升级软件包的Hash值也传输给Android盒子;步骤3.2中,在Android盒子接收到停止Flag标志停止接收后,Android盒子开始校验升级软件包的Hash值,若Hash值一致,则给升级控制设备返回一个“true”字符串以及校验正确的盒子IP地址,若传输中断或者Hash值不一致,则给升级控制设备返回一个“false”字符串以及校验错误的盒子IP地址。
进一步地,步骤3.2中,升级控制设备在升级软件包传输结束后,通过Android盒子返回的数据来判断传输是否成功,若接收到“false”字符串以及校验错误的盒子IP地址,则由升级控制设备根据校验错误的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,再返回步骤3.1。
进一步地,步骤3.2中,在Android盒子给升级控制设备返回“false”字符串后,立即终止后续的静默安装,同时删除已接收的升级软件包。
进一步地,步骤3.3中,在Android盒子成功完成静默安装升级软件包后,则向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址,若静默安装中断或静默安装失败,则由Android盒子自动再进行一次静默安装升级软件包,并在静默安装成功后向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址。
进一步地,若Android盒子再次静默安装仍旧失败,则由Android盒子删除已接收的升级软件包,并向升级控制设备返回一个“fail”字符串以及升级失败的盒子IP地址。
进一步地,升级控制设备接收到“fail”字符串以及对应的盒子IP地址后进行弹窗显示,并给出是否再次传输升级软件包的选择对话框;若获取到再次传输升级软件包的选择命令,则由升级控制设备根据升级失败的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,并再次执行步骤3。
本发明的有益效果在于:利用搭建的物理通信链路和建立的Socket连接实现升级控制设备与Android盒子之间的数据传输,从而能够将升级软件包发送至对应的Android盒子进行静默安装,实现了在无屏幕、无USB调试口以及不接外网的情况下对Android盒子的软件升级,方便开发者调试设备,提高了开发者的效率。
附图说明
图1为本发明的升级方法流程图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
TCP协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。我们的方案基于TCP和UDP协议实现了无线、无屏幕调试和升级。
如图1所示,本发明公开的用于Android盒子的软件升级方法,包括如下步骤:
步骤1,在升级控制设备与Android盒子之间搭建物理通信链路,升级控制设备本发明采用的是Android手机;
步骤2,利用物理通信链路在升级控制设备与Android盒子之间建立Socket连接;
步骤3,升级控制设备利用建立的Socket连接发送升级软件包至Android盒子,Android盒子接收到升级软件包后通过静默安装方式安装。
利用搭建的物理通信链路和建立的Socket连接实现升级控制设备与Android盒子之间的数据传输,从而能够将升级软件包发送至对应的Android盒子进行静默安装,实现了在无屏幕、无USB调试口以及不接外网的情况下对Android盒子的软件升级,方便开发者调试设备,提高了开发者的效率。
进一步地,步骤1中,搭建物理通信链路的具体步骤为:
步骤1.1,将各个Android盒子通过以太网接口连接到交换机,再将交换机连接到无线路由器;
步骤1.2,将升级控制设备无线连接至无线路由;
步骤1.3,将升级软件包存储至升级控制设备中。
利用交换机能够实现多个Android盒子的同步升级;利用无线路由能够与升级控制设备无线连接,省去接线麻烦。
进一步地,步骤2中,建立Socket连接的具体步骤为:
步骤2.1,Android盒子通过UDP协议创建组播监听固定地址和固定端口的广播,进入阻塞状态,等待接收数据;
步骤2.2,Android盒子本身创建一个Socket服务,等待升级控制设备的连接;
步骤2.3,升级控制设备根据各个Android盒子预设的地址和端口向Android盒子发送设备IP地址;
步骤2.4,Android盒子接收到设备IP地址之后,将升级控制设备的设备IP地址保存下来,再将Android盒子的盒子IP地址通过UDP协议发送给升级控制设备;
步骤2.5,升级控制设备接收到Android盒子发来的盒子IP地址,然后通过TCP/IP协议与Android盒子建立Socket连接。
在升级控制设备和Android盒子中都预装了用于实现上述通信的软件功能模块,实现相应的数据传输和数据接收;采用盒子IP地址和设备IP地址的交互发送,能够确保数据传输的精准性和可靠性。
进一步地,步骤3中,利用建立的Socket连接发送升级软件包的具体步骤为:
步骤3.1,升级控制设备利用Socket连接将升级软件包以字节的形式传输给Android盒子,并在传输结束时加上一个停止Flag标志;
步骤3.2,Android盒子每接收到一个字节就保存下来,并在接收到停止Flag标志时停止接收;
步骤3.3,Android盒子在停止接收后,通过静默安装方式来安装接收的升级软件包。
利用停止Flag标志能够便于Android盒子判断升级软件包是否传输完毕,好在接收完毕后及时进行静默安装。
进一步地,步骤3.1中,在升级控制设备传输完停止Flag标志后,同时将升级软件包的Hash值也传输给Android盒子;步骤3.2中,在Android盒子接收到停止Flag标志停止接收后,Android盒子开始校验升级软件包的Hash值,若Hash值一致,则给升级控制设备返回一个“true”字符串以及校验正确的盒子IP地址,若传输中断或者Hash值不一致,则给升级控制设备返回一个“false”字符串以及校验错误的盒子IP地址。
利用Hash值的校验能够便于Android盒子判断升级软件包是否有效,确保安装升级的有效性;通过发送“true”字符串或“false”字符串能够便于升级控制设备判断升级软件包是否已经完好发送至各个Android盒子。
进一步地,步骤3.2中,升级控制设备在升级软件包传输结束后,通过Android盒子返回的数据来判断传输是否成功,若接收到“false”字符串以及校验错误的盒子IP地址,则由升级控制设备根据校验错误的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,再返回步骤3.1。升级控制设备能够根据“false”字符串以及校验错误的盒子IP地址重新自动定点发送升级软件包,确保升级效率。
进一步地,步骤3.2中,在Android盒子给升级控制设备返回“false”字符串后,立即终止后续的静默安装,同时删除已接收的升级软件包。立即终止后续的静默安装能够避免错误安装,删除已接收的升级软件包一方面节省内存空间,另一方面避免升级软件包重复混淆出错。
进一步地,步骤3.3中,在Android盒子成功完成静默安装升级软件包后,则向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址,若静默安装中断或静默安装失败,则由Android盒子自动再进行一次静默安装升级软件包,并在静默安装成功后向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址。利用Android盒子自动重新安装一次,确保意外情况后还可以重新完成静默安装,提高了安装成功率。
进一步地,若Android盒子再次静默安装仍旧失败,则由Android盒子删除已接收的升级软件包,并向升级控制设备返回一个“fail”字符串以及升级失败的盒子IP地址。在再次静默安装失败后可能升级软件包解压安装过程中已损坏,因此删除已接收的升级软件包,并发送“fail”字符串以及升级失败的盒子IP地址告知给升级控制设备。
进一步地,升级控制设备接收到“fail”字符串以及对应的盒子IP地址后进行弹窗显示,并给出是否再次传输升级软件包的选择对话框;若获取到再次传输升级软件包的选择命令,则由升级控制设备根据升级失败的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,并再次执行步骤3。升级控制设备在接收到“fail”字符串以及对应的盒子IP地址后可根据选择进行重新发送升级软件包。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。

Claims (10)

1.一种用于Android盒子的软件升级方法,其特征在于,包括如下步骤:
步骤1,在升级控制设备与Android盒子之间搭建物理通信链路;
步骤2,利用物理通信链路在升级控制设备与Android盒子之间建立Socket连接;
步骤3,升级控制设备利用建立的Socket连接发送升级软件包至Android盒子,Android盒子接收到升级软件包后通过静默安装方式安装。
2.根据权利要求1所述的用于Android盒子的软件升级方法,其特征在于,步骤1中,搭建物理通信链路的具体步骤为:
步骤1.1,将各个Android盒子通过以太网接口连接到交换机,再将交换机连接到无线路由器;
步骤1.2,将升级控制设备无线连接至无线路由;
步骤1.3,将升级软件包存储至升级控制设备中。
3.根据权利要求1所述的用于Android盒子的软件升级方法,其特征在于,步骤2中,建立Socket连接的具体步骤为:
步骤2.1,Android盒子通过UDP协议创建组播监听固定地址和固定端口的广播,进入阻塞状态,等待接收数据;
步骤2.2,Android盒子本身创建一个Socket服务,等待升级控制设备的连接;
步骤2.3,升级控制设备根据各个Android盒子预设的地址和端口向Android盒子发送设备IP地址;
步骤2.4,Android盒子接收到设备IP地址之后,将升级控制设备的设备IP地址保存下来,再将Android盒子的盒子IP地址通过UDP协议发送给升级控制设备;
步骤2.5,升级控制设备接收到Android盒子发来的盒子IP地址,然后通过TCP/IP协议与Android盒子建立Socket连接。
4.根据权利要求1所述的用于Android盒子的软件升级方法,其特征在于,步骤3中,利用建立的Socket连接发送升级软件包的具体步骤为:
步骤3.1,升级控制设备利用Socket连接将升级软件包以字节的形式传输给Android盒子,并在传输结束时加上一个停止Flag标志;
步骤3.2,Android盒子每接收到一个字节就保存下来,并在接收到停止Flag标志时停止接收;
步骤3.3,Android盒子在停止接收后,通过静默安装方式来安装接收的升级软件包。
5.根据权利要求4所述的用于Android盒子的软件升级方法,其特征在于,步骤3.1中,在升级控制设备传输完停止Flag标志后,同时将升级软件包的Hash值也传输给Android盒子;步骤3.2中,在Android盒子接收到停止Flag标志停止接收后,Android盒子开始校验升级软件包的Hash值,若Hash值一致,则给升级控制设备返回一个“true”字符串以及校验正确的盒子IP地址,若传输中断或者Hash值不一致,则给升级控制设备返回一个“false”字符串以及校验错误的盒子IP地址。
6.根据权利要求5所述的用于Android盒子的软件升级方法,其特征在于,步骤3.2中,升级控制设备在升级软件包传输结束后,通过Android盒子返回的数据来判断传输是否成功,若接收到“false”字符串以及校验错误的盒子IP地址,则由升级控制设备根据校验错误的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,再返回步骤3.1。
7.根据权利要求5所述的用于Android盒子的软件升级方法,其特征在于,步骤3.2中,在Android盒子给升级控制设备返回“false”字符串后,立即终止后续的静默安装,同时删除已接收的升级软件包。
8.根据权利要求4所述的用于Android盒子的软件升级方法,其特征在于,步骤3.3中,在Android盒子成功完成静默安装升级软件包后,则向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址,若静默安装中断或静默安装失败,则由Android盒子自动再进行一次静默安装升级软件包,并在静默安装成功后向升级控制设备返回一个“success”字符串以及升级成功的盒子IP地址。
9.根据权利要求8所述的用于Android盒子的软件升级方法,其特征在于,若Android盒子再次静默安装仍旧失败,则由Android盒子删除已接收的升级软件包,并向升级控制设备返回一个“fail”字符串以及升级失败的盒子IP地址。
10.根据权利要求9所述的用于Android盒子的软件升级方法,其特征在于,升级控制设备接收到“fail”字符串以及对应的盒子IP地址后进行弹窗显示,并给出是否再次传输升级软件包的选择对话框;若获取到再次传输升级软件包的选择命令,则由升级控制设备根据升级失败的盒子IP地址通过TCP/IP协议与Android盒子建立Socket连接,并再次执行步骤3。
CN201911046515.4A 2019-10-30 2019-10-30 一种用于Android盒子的软件升级方法 Active CN110928562B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911046515.4A CN110928562B (zh) 2019-10-30 2019-10-30 一种用于Android盒子的软件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911046515.4A CN110928562B (zh) 2019-10-30 2019-10-30 一种用于Android盒子的软件升级方法

Publications (2)

Publication Number Publication Date
CN110928562A true CN110928562A (zh) 2020-03-27
CN110928562B CN110928562B (zh) 2021-09-24

Family

ID=69850002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911046515.4A Active CN110928562B (zh) 2019-10-30 2019-10-30 一种用于Android盒子的软件升级方法

Country Status (1)

Country Link
CN (1) CN110928562B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506551A (zh) * 2020-12-30 2021-03-16 珠海华网科技有限责任公司 一种基于arm装置的usb软件升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924775A (zh) * 2010-09-08 2010-12-22 北京大学 一种Android应用构件的透明加载方法及系统
CN103077058A (zh) * 2013-01-06 2013-05-01 邓海勤 一种安装应用程序的方法及装置
KR20170026846A (ko) * 2015-08-31 2017-03-09 현대엠엔소프트 주식회사 Aosp 기반에서 내부 어플리케이션 간 통신의 최적화 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101924775A (zh) * 2010-09-08 2010-12-22 北京大学 一种Android应用构件的透明加载方法及系统
CN103077058A (zh) * 2013-01-06 2013-05-01 邓海勤 一种安装应用程序的方法及装置
KR20170026846A (ko) * 2015-08-31 2017-03-09 현대엠엔소프트 주식회사 Aosp 기반에서 내부 어플리케이션 간 통신의 최적화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506551A (zh) * 2020-12-30 2021-03-16 珠海华网科技有限责任公司 一种基于arm装置的usb软件升级方法

Also Published As

Publication number Publication date
CN110928562B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN101593119B (zh) 一种独占闪存组合设备空中固件升级方法及装置
CN104915237A (zh) 蓝牙设备固件程序的升级、升级控制方法及设备
CN106886438A (zh) 基于fpga的系统远程更新方法
US10284340B2 (en) Multicast sending apparatus, multicast receiving apparatus, and multicast transmission determining method
CN102510409A (zh) 一种利用无线网络对移动终端程序快速远程更新的方法及系统
CN110708205A (zh) 通过网关对设备进行fota的方法及系统
CN111752579B (zh) 蓝牙终端升级方法、装置、存储介质与电子设备
CN113490218A (zh) 配对方法、配对装置、蓝牙遥控器、智能设备和存储介质
WO2021232681A1 (zh) 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质
CN112118137B (zh) 固件升级方法、装置、计算机设备和可读存储介质
CN113746892B (zh) 一种远程升级方法及无线终端设备
CN105812426A (zh) 一种多业务接入平台升级系统及升级方法
US20030226139A1 (en) System update protocol
CN106506124A (zh) 重传报文确定方法及装置
CN110928562B (zh) 一种用于Android盒子的软件升级方法
WO2022257927A1 (zh) 密钥烧录方法、装置、电子设备板卡及存储介质
US9170801B2 (en) Data card updating method, personal computer, and data card
CN108153561B (zh) 一种dsp与fpga的以太网加载方法及信号处理系统
CN110166479A (zh) 一种传输系统提升udp发送效率的方法
CN113396600B (zh) 信息验证方法、装置、设备及存储介质
CN109445806B (zh) 基于Ble的多设备升级方法、装置、系统及终端
CN109450714A (zh) 一种LoRa终端节点及其数据传输方法
CN102710760A (zh) 一种嵌入式网络终端同步配置方法及设备
CN112583472B (zh) 批量升级卫星设备的组播文件发送、接收、传输方法及装置
EP4116831A1 (en) Communication device, program, communication method, information processing method, information processing device, and communication system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No.15 Xinghuo Road, Jiangbei new district, Nanjing, Jiangsu Province, 210031

Patentee after: Dongji Technology Co.,Ltd.

Address before: No.15 Xinghuo Road, Pukou District, Nanjing City, Jiangsu Province, 210031

Patentee before: JIANGSU SEUIC TECHNOLOGY Co.,Ltd.