CN112256283A - 用于Android设备的应用版本管控方法及装置 - Google Patents
用于Android设备的应用版本管控方法及装置 Download PDFInfo
- Publication number
- CN112256283A CN112256283A CN202011030576.4A CN202011030576A CN112256283A CN 112256283 A CN112256283 A CN 112256283A CN 202011030576 A CN202011030576 A CN 202011030576A CN 112256283 A CN112256283 A CN 112256283A
- Authority
- CN
- China
- Prior art keywords
- file
- application
- list file
- version number
- local list
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种用于Android设备的应用版本管控方法及装置,涉及互联网技术领域,能够对应用的升降级进行有效管控,且操作方式简单便捷。该方法包括:设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装;当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。该装置应用有上述方案所提的方法。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种Android设备的应用版本管控。
背景技术
目前大部分Android设备上的应用(App)因修复bug、增加功能等需要升级应用时,一般采用以下四种方式:
方式一、由应用自身提供升级入口,应用启动后自行访问服务器获取该应用的最新版本信息,当检测到有新版本时,应用可采用弹窗等方式提示用户下载安装新版本,或者可以自动下载新版本并静默安装。
方式二、应用市场App提供升级入口,应用市场App访问服务器获取到应用有新版本时,通过发送系统通知或是在应用图标上添加小红点等方式提示用户有新的版本,用户进入应用市场App在里面点击应用检测更新按钮等方式进行应用升级。
方式三、下载系统安装包安装,升级设备系统,从而使部分系统应用得以升级。
方式四、用户主动通过互联网搜索下载应用的新版本APK文件,安装后进行应用升级。
而应用版本降级的方式一般包括如下两种:
方式一、如果是非系统应用,则需要用户手动卸载掉该应用,再通过互联网搜索下载等方式获取该应用低版本的APK文件,然后主动安装进行应用降级。
方式二、若是系统应用,则需要用户先下载该设备低版本的系统安装包,再使用该系统安装包进行刷机。
现有技术中的应用升降级存在操作复杂,无法对应用进行有效管控等问题。
发明内容
本发明的目的在于提供一种用于Android设备的应用版本管控方法及装置,能够对应用的升降级进行有效管控,且操作方式简单便捷。
为了实现上述目的,本发明的第一方面提供一种用于Android设备的应用版本管控方法,包括:
设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;
遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;
当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装;
当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
优选地,在步骤设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步之前还包括:
在服务端中配置有与多个设备型号及系统版本号一一对应的在线列表文件,所述在线列表文件中至少包括一个管控应用信息,所述管控应用信息包括应用名称、包名、版本名、版本号、APK文件的链接地址和APK文件校验值。
较佳地,设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步的方法包括:
设备端基于预设规则定期向服务端发起同步请求,服务端基于所述同步请求将与设备型号一致的在线列表文件数据同步至设备端的本地列表文件。
优选地,遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配的方法包括:
利用设备端的AppController遍历本地安装的应用,识别已安装应用的包名和版本号;
AppController分别查找每个已安装应用的包名是否存在于本地列表文件中,若本地列表文件的管控应用信息中存在相同的包名则匹配成功,若本地列表文件中的管控应用信息中不存在相同的包名则匹配失败。
较佳地,基于本地列表文件中匹配的链接地址下载APK文件静默安装的方法包括:
安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;
若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后,则放行安装该APK文件;
若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
进一步地,在放行安装该APK文件之后还包括:
在该APK文件安装成功后,PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启。
可选地,还包括:
对于用户自行下载APK文件,安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;
若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后放行安装该APK文件,安装完成后PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启;
若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
与现有技术相比,本发明提供的用于Android设备的应用版本管控方法具有以下有益效果:
本发明提供的用于Android设备的应用版本管控方法中,通过在服务端配置与设备端型号对应的在线列表文件,该在线列表文件由包括应用名称、包名、版本名、版本号、APK文件的链接地址和APK文件校验值的多个管控应用信息组成,设备端可定期向服务端发起同步请求以更新在线列表文件数据,之后通过遍历设备端本地安装的应用,将本地安装应用的包名与本地列表文件中的包名匹配,匹配成功说明设备端已安装该管控应用,然后继续识别应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载对应APK文件静默安装,实现对已安装应用版本的升降级更新;匹配失败说明设备端未安装该管控应用,此时需将本地列表文件中未匹配包名的链接地址下载APK文件静默安装,以实现本地列表文件的管控应用能够在设备端中覆盖安装。
可见,本发明可以对设备端中安装的应用进行有效的版本控制,使需要版本管控的应用能够自动升级或降级,确保相应应用可以及时更新、问题及时修复,无需用户繁琐操作。另外,本发明中管控应用版本的升降级方式统一、简单、便捷,能够确保需要版本管控的应用的APK文件来源安全,提高了设备端的安全性。
本发明的第二方面提供一种用于Android设备的应用版本管控装置,应用于上述技术方案所述的用于Android设备的应用版本管控方法中,所述装置包括:
请求单元,用于设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;
匹配单元,用于遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;
处理单元,用于当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装,当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
与现有技术相比,本发明提供的用于Android设备的应用版本管控装置的有益效果与上述技术方案提供的用于Android设备的应用版本管控方法的有益效果相同,在此不做赘述。
本发明的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述用于Android设备的应用版本管控装方法的步骤。
与现有技术相比,本发明提供的计算机可读存储介质的有益效果与上述技术方案提供的用于Android设备的应用版本管控方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中用于Android设备的应用版本管控方法的流程示意图;
图2为本发明实施例中用于Android设备的应用版本管控方法的流程示例图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1,本实施例提供一种用于Android设备的应用版本管控方法,包括:
设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;遍历设备端本地安装的应用,分别将每个应用的包名与本地列表文件中的包名匹配;当匹配成功则继续识别应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装;当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
本实施例提供的用于Android设备的应用版本管控方法中,通过在服务端配置与设备端型号对应的在线列表文件,该在线列表文件由包括应用名称、包名、版本名、版本号、APK文件的链接地址和APK文件校验值的多个管控应用信息组成,设备端可定期向服务端发起同步请求以更新在线列表文件数据,之后通过遍历设备端本地安装的应用,将本地安装应用的包名与本地列表文件中的包名匹配,匹配成功说明设备端已安装该管控应用,然后继续识别应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载对应APK文件静默安装,实现对已安装应用版本的升降级更新;匹配失败说明设备端未安装该管控应用,此时需将本地列表文件中未匹配包名的链接地址下载APK文件静默安装,以实现本地列表文件的管控应用能够在设备端中覆盖安装。
可见,本实施例可以对设备端中安装的应用进行有效的版本控制,使需要版本管控的应用能够自动升级或降级,确保相应应用可以及时更新、问题及时修复,无需用户繁琐操作。另外,本实施例中管控应用版本的升降级方式统一、简单、便捷,能够确保需要版本管控的应用的APK文件来源安全,提高了设备端的安全性。
具体实施时,服务端根据Android设备端的机型和系统版本,分别配置对应的用于应用版本管控的在线列表文件(在线应用信息列表文件),对于其中一种机型的设备端运行在某个系统版本时配置的在线列表文件,以下简称ServerAppInfoList.json。本实施例只对ServerAppInfoList.json里面的应用进行管控版本,对于包名不在其里面的应用,本专利可根据使用方需求自主设置是否对其管控处理,也即可以允许用户安装该应用,也可以选择不允许安装该应用。当用户方需要对某个应用管控时,只需在ServerAppInfoList.json里添加对应的管控应用信息即可。
上述实施例中,在步骤设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步之前还包括:
在服务端中配置有与多个设备型号及系统版本号一一对应的在线列表文件,在线列表文件中至少包括一个管控应用信息,管控应用信息包括应用名称、包名、版本名、版本号、APK文件的链接地址和APK文件校验值。
示例性地,ServerAppInfoList.json包含应用名称appName、应用包名packageName、应用版本名versionName、应用版本号versionCode、应用的APK文件的地址APKUrl、应用的APK文件的MD5校验值APKMd5等信息。
上述实施例中,设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步的方法包括:
设备端基于预设规则定期向服务端发起同步请求,服务端基于同步请求将与设备型号一致的在线列表文件数据同步至设备端的本地列表文件。
具体实施时,AppController先从服务端获取到对应的ServerAppInfoList.json,再同步到本地列表文件(本地应用信息列表文件),也即LocalAppInfoList.json,然后与当前设备端里包名对应相同的应用比对版本号,最后需要安装APK文件的应用均安装完成后,才算一次执行成功,这套流程以下简称为一次管控应用版本。而其执行时机可以如下:
a、Android设备端开机后,AppController执行一次管控应用版本。
b、在a执行成功完成后,每间隔一定时间AppController执行一次管控应用版本。
c、当运营人员更新了服务端上的ServerAppInfoList.json的配置时,服务端会自动把ServerAppInfoList.json有更新的消息推送给相应Android设备端里的AppController,AppController收到此推送消息后,执行一次管控应用版本。
d、每当a、b、c其中的某次管控应用版本因网络等问题AppController无法获取到有效的ServerAppInfoList.json时,那么AppController每间隔一定时间执行一次管控应用版本,若执行失败,则继续间隔一定时间再执行一次管控应用版本,如此循环;若其中某次执行成功,则取消循环执行。
上述实施例中,遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配的方法包括:
利用设备端的AppController遍历本地安装的应用,识别已安装应用的包名和版本号;AppController分别查找每个已安装应用的包名是否存在于本地列表文件中,若本地列表文件的管控应用信息中存在相同的包名则匹配成功,若本地列表文件中的管控应用信息中不存在相同的包名则匹配失败。
上述实施例中,基于本地列表文件中匹配的链接地址下载APK文件静默安装的方法包括:
安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后,则放行安装该APK文件;若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
上述实施例中,在放行安装该APK文件之后还包括:
在该APK文件安装成功后,PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启。
具体实施时,AppController会从服务端获取最新的ServerAppInfoList.json,当成功获取到有效的ServerAppInfoList.json时,马上把其内容同步到LocalAppInfoList.json,然后读取LocalAppInfoList.json里面的包名和版本号,用以与当前Android设备端里包名对应相同的应用,进行版本号比对。
若版本号不同,则AppController会从LocalAppInfoList.json里包名对应APK文件的链接地址下载对应APK文件,并在下载完成后使用这个APK文件对该应用进行静默覆盖安装,也就是应用升级或降级。
若版本号相同,则不处理。
对于LocalAppInfoList.json里的一些管控应用信息,若使用其对应的包名在当前Android设备端里查找,发现这些包名对应的应用没有被安装,则AppController会从LocalAppInfoList.json里查找这些应用对应的APK文件链接地址下载对应APK文件,并在下载完成后使用这些APK文件进行静默安装。
当AppController使用从LocalAppInfoList.json里的APK文件链接地址下载的对应的APK文件进行应用安装,安装程序运行到PackageManagerService服务时,PackageManagerService会解析APK文件里的包名、版本号等信息,并读取LocalAppInfoList.json里的管控应用信息内容,再对两者里面包名对应相同的应用一一进行版本号比对。
若LocalAppInfoList.json里无此应用包名,则PackageManagerService放行安装或中止安装,这取决于使用方的选择。
若LocalAppInfoList.json里有此应用包名,则开始比较两者的应用版本号,若不同则中止安装;若相同,则需要检查当前Android设备端里是否已安装此包名的应用,若已安装,则中止安装,若未安装,则放行安装。
若此应用是AppController,而比对结果是放行安装,则PackageManagerService在静默安装AppController后,启动AppController重新运行,因为AppController在被静默安装完成时会自动停止运行。
安装完成后可以使用弹出Toast等方式提示用户该应用已更新或安装,也可以不提示。
上述实施例中,还包括:对于用户自行下载APK文件,安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后放行安装该APK文件,安装完成后PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启;若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
为便于理解,请参阅图2做示例性说明:
Android设备端出厂时已预置LocalAppInfoList.json,包含应用的名称、包名、版本名、版本号、APK文件的链接地址、APK文件的MD5校验值,单个应用的管控应用信息的集合简称AppInfo。
1、当用户操作Android设备端开机后,AppController随着Android设备开机自动启动运行,其先携带当前设备的机型和系统版本号去访问服务端,请求在线列表文件ServerAppInfoList.json。
2、若请求失败,则AppController定时重新向服务端发起请求,若请求成功,则AppController会同步ServerAppInfoList.json内容到LocalAppInfoList.json,ServerAppInfoList.json的内容组成成分和LocalAppInfoList.json一致。
3、同步完成后,AppController遍历ServerAppInfoList.json里的管控应用信息AppInfo,用AppInfo里的版本号与Android设备端中安装应用的包名和AppInfo里的包名相同的应用的版本号进行比对。
4、若版本号相同,则不处理;若版本号不同,其中也包括Android设备里未安装AppInfo里对应包名的应用的情景,则AppController使用AppInfo里的APK文件链接地址向服务端发起请求,下载新版本的APK文件。
5、若下载失败则AppController定时重新下载,若下载成,则AppController开始静默安装APK文件。
6、安装程序运行到PackageManagerService时,PackageManagerService先解析APK文件获取应用包名、版本号,再读取LocalAppInfoList.json里的AppInfo,然后遍历LocalAppInfoList.json里的应用信息AppInfo,找到有和APK文件里包名相同包名的AppInfo,用这个AppInfo的版本号与APK文件里的版本号进行比对。
7、若版本号不同,则PackageManagerService会中止应用安装,若AppInfo里无此包名,则PackageManagerService会放行应用安装,若版本号相同,则PackageManagerService会检查当前Android设备里是否已安装此包名的应用,若已安装此包名应用,则中止应用安装,若未安装此包名应用则放行应用安装。
8、应用安装完成后,PackageManagerService会检查此次安装的应用是否是AppController,若是AppController,则PackageManagerService会启动AppController,因为AppController在被静默安装完成时会自动停止运行。
9、不论安装的应用是否是AppController,安装完成后PackageManagerService都可以使用弹出Toast等方式提示用户该应用已更新或安装,也可以不提示。
10、而当用户通过从互联网下载等其他方式获取到APK文件,并使用此APK文件进行安装应用时,安装程序同样会运行到PackageManagerService,后面的逻辑同上面的第6、7、8、9步骤一致,依次进行校验。
基于上述方案,本实施例具有如下技术效果:
1、运营人员可以根据Android设备端的机型和其运行的系统版本等信息,在服务端上配置不同的ServerAppInfoList.json,AppController在设备开机、定时轮询、收到服务端推送有新的ServerAppInfoList.json消息等时机时,访问服务端获取ServerAppInfoList.json同步给LocalAppInfoList.json,然后AppController根据ServerAppInfoList.json里面的应用信息,与当前Android设备里已安装的应用信息进行包名和版本号比对,一一决定是否从ServerAppInfoList.json里的包名对应的APK文件地址链接下载APK文件进行静默安装,从而对当前Android设备上的这些应用进行及时的、动态的管控版本,确保这些应用能够及时修复问题或增加功能,使设备运行稳定。
2、通过各种方式安装的应用程序都会运行到PackageManagerService,PackageManagerService在应用安装时会基于LocalAppInfoList.json里的管控应用信息、进行安装的APK文件里的应用信息和当前Android设备里已安装的应用信息进行包名和版本号比对,继而决定放行安装或中止安装该应用,从而对LocalAppInfoList.json里包名对应的应用进行版本管控,确保受到管控版本应用来源的安全。
3、对于Android设备端的系统应用和预置应用,无需在每个应用中自行集成一套应用自升级程序,减小了APK文件大小,保持了这些应用的升级风格统一。
4、对于不需要接受管控版本的应用,不受任何影响,对其无侵入性。
实施例二
本实施例提供一种用于Android设备的应用版本管控装置,包括:
请求单元,用于设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;
匹配单元,用于遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;
处理单元,用于当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装,当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
与现有技术相比,本发明实施例提供的用于Android设备的应用版本管控装置的有益效果与上述实施例一提供的用于Android设备的应用版本管控方法的有益效果相同,在此不做赘述。
实施例三
本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述用于Android设备的应用版本管控方法的步骤。
与现有技术相比,本实施例提供的计算机可读存储介质的有益效果与上述技术方案提供的用于Android设备的应用版本管控方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种用于Android设备的应用版本管控方法,其特征在于,包括:
设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;
遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;
当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装;
当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
2.根据权利要求1所述的方法,其特征在于,在步骤设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步之前还包括:
在服务端中配置有与多个设备型号及系统版本号一一对应的在线列表文件,所述在线列表文件中至少包括一个管控应用信息,所述管控应用信息包括应用名称、包名、版本名、版本号、APK文件的链接地址和APK文件校验值。
3.根据权利要求2所述的方法,其特征在于,设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步的方法包括:
设备端基于预设规则定期向服务端发起同步请求,服务端基于所述同步请求将与设备型号一致的在线列表文件数据同步至设备端的本地列表文件。
4.根据权利要求1所述的方法,其特征在于,遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配的方法包括:
利用设备端的AppController遍历本地安装的应用,识别已安装应用的包名和版本号;
AppController分别查找每个已安装应用的包名是否存在于本地列表文件中,若本地列表文件的管控应用信息中存在相同的包名则匹配成功,若本地列表文件中的管控应用信息中不存在相同的包名则匹配失败。
5.根据权利要求4所述的方法,其特征在于,基于本地列表文件中匹配的链接地址下载APK文件静默安装的方法包括:
安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;
若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后,则放行安装该APK文件;
若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
6.根据权利要求5所述的方法,其特征在于,在放行安装该APK文件之后还包括:
在该APK文件安装成功后,PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启。
7.根据权利要求4所述的方法,其特征在于,还包括:
对于用户自行下载APK文件,安装程序运行到PackageManagerService时先解析APK文件获取其中的包名和版本号,然后读取本地列表文件中对应管控应用信息的包名和版本号;
若APK文件与对应管控应用信息中的包名和版本号完全一致,则在检查设备端本地未安装相同包名和版本号的应用后放行安装该APK文件,安装完成后PackageManagerService检查是否为AppController,并在检查结果为是时对AppController进行重启;
若APK文件与对应管控应用信息中的包名和版本号不完全一致,则终止安装该APK文件。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述在线列表文件为ServerAppInfoList.json,所述本地列表文件为LocalAppInfoList.json。
9.一种用于Android设备的应用版本管控装置,其特征在于,包括:
请求单元,用于设备端向服务端发起同步请求,以使设备端的本地列表文件与服务端的在线列表文件保持数据同步;
匹配单元,用于遍历设备端本地安装的应用,分别将每个所述应用的包名与本地列表文件中的包名匹配;
处理单元,用于当匹配成功则继续识别所述应用的版本号与本地列表文件中匹配的版本号是否一致,并在不一致时基于本地列表文件中匹配的链接地址下载APK文件静默安装,当匹配失败时,则基于本地列表文件中未匹配包名的链接地址下载APK文件静默安装。
10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011030576.4A CN112256283A (zh) | 2020-09-27 | 2020-09-27 | 用于Android设备的应用版本管控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011030576.4A CN112256283A (zh) | 2020-09-27 | 2020-09-27 | 用于Android设备的应用版本管控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256283A true CN112256283A (zh) | 2021-01-22 |
Family
ID=74233161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011030576.4A Pending CN112256283A (zh) | 2020-09-27 | 2020-09-27 | 用于Android设备的应用版本管控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256283A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391825A (zh) * | 2021-07-01 | 2021-09-14 | 读书郎教育科技有限公司 | 一种动态自动预安装应用的方法及系统 |
CN113434233A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 界面跳转方法、装置、存储介质及电子装置 |
-
2020
- 2020-09-27 CN CN202011030576.4A patent/CN112256283A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434233A (zh) * | 2021-06-28 | 2021-09-24 | 青岛海尔科技有限公司 | 界面跳转方法、装置、存储介质及电子装置 |
CN113434233B (zh) * | 2021-06-28 | 2023-10-24 | 青岛海尔科技有限公司 | 界面跳转方法、装置、存储介质及电子装置 |
CN113391825A (zh) * | 2021-07-01 | 2021-09-14 | 读书郎教育科技有限公司 | 一种动态自动预安装应用的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
CN108170448B (zh) | 一种自动化高效进行软件更新版本发布的系统 | |
US20210011707A1 (en) | Method and system for a client to server deployment via an online distribution platform | |
CN110597545B (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
US9244758B2 (en) | Systems and methods for repairing system files with remotely determined repair strategy | |
TWI533216B (zh) | 作業系統更新方法 | |
US7065560B2 (en) | Verification of computer program versions based on a selected recipe from a recipe table | |
CN112256283A (zh) | 用于Android设备的应用版本管控方法及装置 | |
CN105389187B (zh) | 一种系统更新的方法 | |
CN112988183A (zh) | 程序升级方法、装置、电子设备及存储介质 | |
CN112099825B (zh) | 组件进行升级的方法、装置、设备及存储介质 | |
CN106775873B (zh) | 更新手机软件、获取补丁文件的方法及设备 | |
CN110908681A (zh) | 一种软件升级的方法和装置 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、系统及机顶盒 | |
CN111901142A (zh) | 一种用于嵌入式设备集群的固件静默升级方法及装置 | |
CN114840242A (zh) | 一种电子设备的系统升级方法、装置及可读存储介质 | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
CN115202680A (zh) | 在线远程自动升级本地客户端的系统及方法 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN111679842B (zh) | 应用程序热更新处理方法、装置及系统 | |
CN114003264B (zh) | 一种Linux操作系统升级方法 | |
CN113064611B (zh) | 针对无线设备实现数据分析软件升级的方法及其更新方法 | |
CN112203170B (zh) | 一种光网络单元的升级方法、装置、介质及设备 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN111949278B (zh) | 一种自动安装mcs系统的方法、系统、终端及存储介质 |
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 |