CN104267984A - 基于安卓平台的应用及游戏自动升级方法 - Google Patents
基于安卓平台的应用及游戏自动升级方法 Download PDFInfo
- Publication number
- CN104267984A CN104267984A CN201410489923.8A CN201410489923A CN104267984A CN 104267984 A CN104267984 A CN 104267984A CN 201410489923 A CN201410489923 A CN 201410489923A CN 104267984 A CN104267984 A CN 104267984A
- Authority
- CN
- China
- Prior art keywords
- game
- application
- android
- upgrading
- platform
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明揭示了一种基于安卓平台的应用及游戏自动升级方法,包括如下步骤:步骤S1、安装含有虚拟中间件平台的应用或游戏,该虚拟中间件平台为在Android手机里构建的一个Android的运行环境,并兼容标准安卓平台的软件包格式;应用或游戏由虚拟中间件平台来解析、加载和运行;步骤S2、检测到新版本时,下载应用或游戏的新版本;步骤S3、下次启动时,虚拟中间件平台加载和运行应用或游戏的新版本,即自然完成升级。本发明提出的基于安卓平台的应用及游戏自动升级方法,每次升级仅需下载升级差分包即可,节省用户流量,提高下载成功率;升级过程可以做到无需用户参与和系统确认,可以让应用或游戏开发者给消费者提供更人性化的升级过程,提升升级成功率和升级体验。
Description
技术领域
本发明属于计算机软件技术领域,涉及一种软件升级方法,尤其涉及一种基于安卓平台的应用及游戏自动升级方法。
背景技术
安卓智能手机和平板设备已经占据了全球及中国最大的移动互联网设备的份额,Gartner在2014年年初的调查报告数据中提到,中国手机用户总数在2013年首次超过10亿,而由360手机卫士和360用户研究团队共同统计的《2014年中国手机流量使用报告》表明,在手机用户的种类调查上,安卓设备独占鳌头,占用户总量的近84%。在全球范围内,去年年初Google公司董事会主席兼行政总裁Eric Schmidt在一次会议上称,目前每天Android设备的新增数量就已经达到了150万部。
随着安卓智能手机和移动互联网的普及,安卓平台上的应用和游戏成为近年来产业发展的热点,截至2013年年底,在Google Play里收录的应用和游戏的总体数量就已经超过了100万个。
同时,几乎每款应用或游戏都需要定期更新,鉴于分发渠道的多样性,应用和游戏通常会选择自己的应用内升级功能。据不完全统计,一个强制升级的版本会导致近30%的用户流失,如果不强制升级,又会导致客户端版本繁复,服务器端要兼容不同的版本协议,运营强度也会成指数级上升,因此版本管理成为很多应用或游戏开发和运营团队的噩梦。
国内安卓智能手机上的应用或游戏升级通常有如下两种方式:
方式一:应用和游戏的应用内升级功能,这是最常见的方式。这个更新过程通常如下:进入应用或游戏后提示用户有新的版本(有时应用或游戏会启动一个后台Service,定期和服务器端交互检测是否有新版本,当有新版本后通过状态栏的通知告诉用户,之后的过程一样),点击确定后下载完整的新的版本,然后再调用系统的安装界面,安装下载的新的版本的安装文件,完成升级过程,完成后应用或游戏会被系统自动退出,用户下次启动后再进入新版本。
方式二:应用市场或游戏中心等分发渠道完成升级功能,这种方式很少被应用开发者采用,因为分发渠道非常多,很难做到用户手机的全面覆盖,且每次升级要针对曾经发布过的渠道准备对应的新版本是一个非常消耗精力的过程。采用这种方式的更新过程如下:在分发渠道的后台上传新版本,当分发渠道检测到客户端的版本是老版本时,提示用户是否要升级,之后的过程基本是一样的,用户点击确认后下载完整的新的版本(有的市场也支持差分升级,但有其局限性),然后再调用系统的安装界面,安装下载新的版本的安装文件并完成升级过程,完成后应用或游戏会被系统自动退出,用户下次启动后再进入新版本。
从以上的描述中可以看到,现有技术完成应用或游戏版本的升级是一个比较繁冗的过程,因此伴随而来的就是相当比例的用户流失,这个过程包括:
(1)需要用户的参与;
(2)大都不支持差分升级,每次升级需要下载新的版本的完整安装文件,占用和消耗用户流量,并且大大加长了下载时间;
(3)安装过程需要系统确认,进一步导致用户流失。
有鉴于此,如今迫切需要设计一种新的升级方法,以便克服现有升级方法的上述缺陷。
发明内容
本发明所要解决的技术问题是:提供一种基于安卓平台的应用及游戏自动升级方法,可节省用户流量,提高下载成功率。
为解决上述技术问题,本发明采用如下技术方案:
一种基于安卓平台的应用及游戏自动升级方法,所述方法包括如下步骤:
步骤S1、安装含有虚拟中间件平台的应用或游戏,该虚拟中间件平台为在Android手机里构建的一个Android的运行环境,并兼容标准安卓平台的软件包格式;应用或游戏由虚拟中间件平台来解析、加载和运行;
步骤S2、检测到新版本时,下载应用或游戏的新版本;
步骤S3、下次启动时,虚拟中间件平台加载和运行应用或游戏的新版本,即自然完成升级。
作为本发明的一种优选方案,所述步骤S1的虚拟中间件平台具体包括:
解析应用或游戏的APK格式的封装包,读取关键配置文件,解析该应用或者游戏用到的安卓组件;
根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为应用或者游戏启动做好准备;
根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;
用代理的方法对游戏或者应用中的相关安卓组件进行代理管理,并接收、触发和调用这些组件,以完成和应用或者游戏逻辑本身的整合。
本发明的有益效果在于:本发明提出的基于安卓平台的应用及游戏自动升级方法,为应用或游戏开发者提供了一个高效的软件版本管理方法,使得应用的升级过程能够达到:(1)每次升级仅需下载升级差分包即可,节省用户流量,提高下载成功率;(2)升级过程可以做到无需用户参与和系统确认,可以让应用或游戏开发者给消费者提供更人性化的升级过程,提升升级成功率和升级体验。
附图说明
图1为本发明方法的流程图。
图2为本发明方法步骤S3的部分流程图。
图3为本发明自动升级方法对应的技术架构图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示了一种基于安卓平台的应用及游戏自动升级方法,类似于Windows上的虚拟机VmWare,它在Windows上构建了一个Linux的运行环境,使得Linux应用可以在安装了Windows操作系统的PC上运行,本发明的核心思想是构建了一个虚拟中间件平台,这个中间件平台可以理解为在Android手机里又构建了一个Android的运行环境,这个中间件可以兼容标准安卓平台的软件包格式,在应用或游戏首次安装时,仅需要安装这个虚拟中间件平台即可(或者包含该应用或游戏的虚拟中间件平台),应用或游戏本身并不需要真正的安装过程,而是运行在这个中间件平台上,因此升级时仅需要下载新的版本文件即可完成更新。
主体过程如图1所示,所述应用及游戏自动升级方法包括如下步骤:
步骤S1、安装含有虚拟中间件平台的应用或游戏,该虚拟中间件平台为在Android手机里构建的一个Android的运行环境,并兼容标准安卓平台的软件包格式;应用或游戏由虚拟中间件平台来解析、加载和运行;
步骤S2、检测到新版本时,下载应用或游戏的新版本;
步骤S3、下次启动时,虚拟中间件平台加载和运行应用或游戏的新版本,即自然完成升级。
请参阅图2,步骤S1的虚拟中间件平台具体包括:解析应用或游戏的APK格式的封装包,读取关键配置文件(如所述关键配置文件在Android平台上通常为AndroidManifest.xml),解析该应用或者游戏用到的安卓组件;根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为应用或者游戏启动做好准备;根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;用代理的方法对游戏或者应用中的相关组件进行代理管理,并接收、触发和调用这些组件,以完成和应用或者游戏逻辑本身的整合。
以下提供一种我们实现的该虚拟中间件平台的实现方案,该实现方式所使用到的几个关键的技术点如下:
(1)编程语言的动态加载特性:安卓平台使用的编程语言是Java或者C/C++等,如果是C/C++,即可使用C语言中的动态库加载机制;如果使用的是Java,可以使用该语言的反射机制(reflect)、代理机制(Proxy),如果是其它语言,也可以利用其它语言的动态加载特性达成同样目的;
(2)安卓平台四大组件的代理机制:即对于安卓平台的四大组件:Activity、Service、Broadcast Receiver、Content Provider,由本发明平台进行代理管理,并在我们的平台上对应用或者游戏中所用到的这四大组件的生命周期进行管理。
此外,本发明的技术架构如图3所示。
综上所述,本发明提出的基于安卓平台的应用及游戏自动升级方法,为应用或游戏开发者提供了一个高效的软件版本管理方法,使得应用的升级过程能够达到:(1)每次升级仅需下载升级差分包即可,节省用户流量,提高下载成功率;(2)升级过程可以做到无需用户参与和系统确认,可以让应用或游戏开发者给消费者提供更人性化的升级过程,提升升级成功率和升级体验。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (3)
1.一种基于安卓平台的应用及游戏自动升级方法,其特征在于,所述方法包括如下步骤:
步骤S1、安装含有虚拟中间件平台的应用或游戏,该虚拟中间件平台为在Android手机里构建的一个Android的运行环境,并兼容标准安卓平台的软件包格式;应用或游戏由虚拟中间件平台来解析、加载和运行;
步骤S2、检测到新版本时,下载应用或游戏的新版本;
步骤S3、下次启动时,虚拟中间件平台加载和运行应用或游戏的新版本,即自然完成升级。
2.根据权利要求1所述的基于安卓平台的应用及游戏自动升级方法,其特征在于:
步骤S1中,虚拟中间件平台兼容标准安卓平台的软件包格式,应用或游戏的软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
3.根据权利要求1所述的基于安卓平台的应用及游戏自动升级方法,其特征在于:
所述步骤S1的虚拟中间件平台具体包括:
解析游戏或者应用的APK格式的封装包,读取关键配置文件,解析该应用或者游戏用到的安卓组件;
根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为应用或者游戏启动做好准备;
根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;
利用Android Framework和Linux内核的接口,用代理的方法,对游戏或者应用中的相关安卓组件进行代理管理,并接收、触发和调用上述组件,以完成和应用或者游戏逻辑本身的整合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489923.8A CN104267984A (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的应用及游戏自动升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489923.8A CN104267984A (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的应用及游戏自动升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104267984A true CN104267984A (zh) | 2015-01-07 |
Family
ID=52159508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410489923.8A Pending CN104267984A (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的应用及游戏自动升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104267984A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657358A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的服务代理方法和装置 |
CN109621406A (zh) * | 2018-12-06 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种配置文件的生成方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707977A (zh) * | 2012-05-17 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 一种基于Android应用软件的增量升级方法 |
CN103324502A (zh) * | 2013-05-28 | 2013-09-25 | 中国科学院上海微系统与信息技术研究所 | 传感器网络节点代码升级管理中间件、方法及应用 |
CN103902265A (zh) * | 2012-12-26 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 一种应用实现方法及相关装置 |
-
2014
- 2014-09-23 CN CN201410489923.8A patent/CN104267984A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707977A (zh) * | 2012-05-17 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 一种基于Android应用软件的增量升级方法 |
CN103902265A (zh) * | 2012-12-26 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 一种应用实现方法及相关装置 |
CN103324502A (zh) * | 2013-05-28 | 2013-09-25 | 中国科学院上海微系统与信息技术研究所 | 传感器网络节点代码升级管理中间件、方法及应用 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657358A (zh) * | 2016-12-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种安卓应用的服务代理方法和装置 |
CN109621406A (zh) * | 2018-12-06 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种配置文件的生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN101094229B (zh) | 一种网络应用程序的增量升级方法 | |
CN106658475B (zh) | 一种空中下载技术升级方法和装置 | |
CN101576828B (zh) | 软件版本升级方法及装置、服务器 | |
Alliance | Android | |
CN104111855A (zh) | 一种基于Lua的iOS客户端功能动态更新的方法 | |
US9417860B2 (en) | Automatic provisioning of a software platform to a device ecosystem | |
CN104375849A (zh) | 加载内核的方法及装置 | |
CN105550001A (zh) | 分布式自动构建方法及系统 | |
CN103353845A (zh) | 脚本加载、推送方法及装置 | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
CN104077165A (zh) | 基于安卓平台的应用启动运行及管理方法及系统 | |
CA2860657C (en) | Installation engine and package format for parallelizable, reliable installations | |
CN108536464A (zh) | 一种应用程序的热修复方法及装置 | |
CN104731568A (zh) | 应用程序的运行方法和运行装置 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
CN103686821A (zh) | 根据移动终端唯一标识进行应用程序流量统计的控制方法 | |
CN103577226A (zh) | 一种IOS和Android平台上的组件式游戏构建方法 | |
CN104267984A (zh) | 基于安卓平台的应用及游戏自动升级方法 | |
CN111045695A (zh) | WebLogic中间件部署装置、方法及设备和介质 | |
JP7147123B2 (ja) | ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体 | |
CN111679850B (zh) | 应用程序热更新处理方法、装置及系统 | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 | |
KR101123685B1 (ko) | 동적 소프트웨어 업그레이드 기술을 이용한 단말기 내의 프로그램 업그레이드 방법 및 시스템 | |
CN110990022A (zh) | 软件项目的开发方法、装置、处理器及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |
|
WD01 | Invention patent application deemed withdrawn after publication |