CN104267983A - 基于安卓平台的重度游戏封包方法 - Google Patents
基于安卓平台的重度游戏封包方法 Download PDFInfo
- Publication number
- CN104267983A CN104267983A CN201410489613.6A CN201410489613A CN104267983A CN 104267983 A CN104267983 A CN 104267983A CN 201410489613 A CN201410489613 A CN 201410489613A CN 104267983 A CN104267983 A CN 104267983A
- Authority
- CN
- China
- Prior art keywords
- game
- software package
- severe
- platform
- android
- 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
Links
Abstract
本发明揭示了一种基于安卓平台的重度游戏封包方法,包括如下步骤:用户下载并安装至少包含虚拟中间件平台和游戏下载界面的软件包;该软件包运行后,下载完整的重度游戏的软件包;由虚拟中间件平台来解析、加载和运行完整的重度游戏软件包;下载完成后再启动时,虚拟中间件平台直接加载和运行重度游戏软件包。本发明将重度游戏比较大的软件包封装成了较小的软件包,为对软件包大小敏感的分发渠道提供了更加高效的分发方式,这样的渠道包括安卓智能手机的软件预装渠道、Push渠道、广告联盟和线上渠道等。本发明能够大大增加游戏开发者的游戏分发能力,帮助他们提高产品的市场覆盖面,也能够更好地帮助以上渠道实现流量变现;同时可以节省手机宝贵的内部存储空间。
Description
技术领域
本发明属于计算机软件技术领域,涉及一种封包方法,尤其涉及一种基于安卓平台的重度游戏封包方法。
背景技术
安卓智能手机和平板设备已经占据了全球及中国最大的移动互联网设备的份额,Gartner在2014年年初的调查报告数据中提到,中国手机用户总数在2013年首次超过10亿,而由360手机卫士和360用户研究团队共同统计的《2014年中国手机流量使用报告》表明,在手机用户的种类调查上,安卓设备独占鳌头,占用户总量的近84%。在全球范围内,去年年初Google公司董事会主席兼行政总裁Eric Schmidt在一次会议上称,目前每天Android设备的新增数量就已经达到了150万部。
随着安卓智能手机和移动互联网的普及,安卓平台上的游戏成为近年来产业发展的热点,仅就中国国内游戏的使用人群来看,据CNG中新游戏研究《2013年1~6月中国游戏产业报告》数据显示,2013年上半年中国Android系统移动网络游戏用户超过1亿人,占中国移动网络游戏用户总量的约72%。
安卓平台的手机游戏可以简单地划分为轻度游戏(休闲游戏)和重度游戏,本文所指的重度游戏指游戏包(安卓平台上指APK的大小)相对比较大,重度游戏是收益能力比较强的一类,且随着智能手机硬件能力的增强,其份额越来越大。但因为游戏包(APK)比较大,导致在一些推广渠道受限,比如预装渠道通常只接受15M以内的游戏,广告Push渠道通常也无法推广较大的游戏,从而使得这类游戏失去了相当一部分的市场份额。
一些重度游戏为了使得游戏适合线下推广,也有相应的较小的游戏包,通常是通过如下两种方式之一:
方式一:下载器,这个较小的游戏包就是一个下载器,因此在下载完成后需要提示用户安装真正的游戏包,用户点击确认后才能完成安装过程。
方式二:动态加载,这需要游戏开发方在开发时就有意把部分资源和代码分离出来,这部分资源和代码在下载后通过动态加载的方式来获得。
现有的技术方案存在如下不足:(1)下载器的方式下,较小的游戏包和真正的游戏包实质上还是两个完全独立的软件包,且真正的游戏包要装载进来,还是需要安装过程,并且在用户的手机里会以两个各自独立的应用的形态存在;(2)动态加载的方式虽然可以避免安装过程,但其开发过程繁琐,需要游戏开发者有意识地区分小游戏包和后续动态加载的内容;同时,版本升级和多版本维护会变得很麻烦,每次升级都需要重新分解小包和动态加载内容,并且要维护版本升级路线上的一致性。
有鉴于此,如今迫切需要设计一种新的封包方法,以便克服现有封包方法的上述缺陷。
发明内容
本发明所要解决的技术问题是:提供一种基于安卓平台的重度游戏封包方法,可增加游戏开发者的游戏分发能力,更好地帮助渠道实现流量变现。
为解决上述技术问题,本发明采用如下技术方案:
一种基于安卓平台的重度游戏封包方法,所述方法包括如下步骤:
步骤S1、构建一个虚拟中间件平台,虚拟中间件平台为在Android手机里构建的一个Android的运行环境;虚拟中间件平台兼容标准安卓平台的软件包格式;
步骤S2、在分发时分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,将原先需要在分发渠道下载的重度游戏软件包转化为游戏内下载的数据包,而游戏本身的软件包大小最小仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小;
步骤S3、下载完成后,由软件包所包含的虚拟中间件平台来解析、加载和运行完整的重度游戏软件包;
步骤S4、后续再启动该游戏时,虚拟中间件平台直接检测到已经下载的重度游戏软件包并直接加载运行它;重度游戏软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
作为本发明的一种优选方案,步骤S1中,虚拟中间件平台兼容标准安卓平台的软件包格式,在分发时分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,重度游戏软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
作为本发明的一种优选方案,所述步骤S1具体包括:
解析游戏或者应用的APK格式的封装包,读取关键配置文件,解析该游戏或者应用用到的安卓组件;
根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为游戏或者应用启动做好准备;
根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;
用代理的方法,对游戏或者应用中的相关组件进行代理管理,并接收、触发和调用这些组件,以完成和游戏或者应用逻辑本身的整合。
作为本发明的一种优选方案,所述步骤S2中,游戏本身的软件包大小最小做到仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小;但同时并不代表游戏本身的软件包本身要做到最小,游戏本身的软件包大小也可以做成虚拟中间件平台外加部分游戏功能,这样在有效降低游戏软件包本身的大小的同时,在游戏安装和启动后让用户玩游戏的同时再去下载完整的重度游戏软件包。
本发明的有益效果在于:本发明提出的基于安卓平台的重度游戏封包方法,将重度游戏比较大的软件包封装成了较小的软件包,为对软件包大小敏感的分发渠道提供了更加高效的分发方式,这样的渠道包括安卓智能手机的软件预装渠道、Push渠道、广告联盟和线上渠道等。因此能够大大增加游戏开发者的游戏分发能力,帮助他们提高产品的市场覆盖面,也能够更好地帮助以上渠道实现流量变现。同时,因为下载的完整游戏包可以放在外置存储卡上,因此大大节省了手机宝贵的内部存储空间。
本发明构造了一种对重度游戏进行封包处理的技术,通过该技术可以把重度游戏的软件包封装成较小的软件包,将原先需要在分发渠道下载的软件包转化为应用内下载的数据包,启动后再将原完整游戏包作为数据来下载,完成下载后无需安装,直接启动并进入游戏;用户后续启动该游戏,均可直接进入游戏。
附图说明
图1为本发明方法的流程图。
图2为本发明方法步骤S3的流程图。
图3为本发明所使用的技术架构图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
本发明揭示了一种基于安卓平台的重度游戏封包方法,类似于Windows上的虚拟机VmWare,虚拟机VmWare在Windows上构建了一个Linux的运行环境,使得Linux应用可以在安装了Windows操作系统的PC上运行。本发明的核心思想是构建了一个虚拟中间件平台,这个中间件平台可以理解为在Android手机里又构建了一个Android的运行环境,这个中间件可以兼容标准Android平台的软件包格式,因此在分发时可以分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,因为重度游戏软件包可以运行在该虚拟中间件平台上,因此不再需要安装过程就可以启动和运行;后续启动该应用,虚拟中间件平台可以检测到已经下载的重度游戏软件包并直接加载运行它。通过这样的方式,就比较自然地将原先需要在分发渠道下载的重度游戏软件包转化为游戏内下载的数据包,而游戏本身的软件包大小可以最小仅是虚拟中间件平台的大小(外加一个数据下载界面),使得软件包本身能做到很小(我们实现的虚拟中间件平台可以做到3MB以内)。
请参阅图1,本发明基于安卓平台的重度游戏封包方法包括如下步骤:
【步骤S1】构建一个虚拟中间件平台,虚拟中间件平台为在Android手机里构建的一个Android的运行环境;虚拟中间件平台兼容标准安卓平台的软件包格式。用户下载并安装至少包含虚拟中间件平台和游戏下载界面的软件包。
请参阅图2,所述步骤S1具体包括:解析游戏或者应用的APK格式的封装包,读取关键配置文件,解析该应用或者游戏用到的安卓组件;根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为应用或者游戏启动做好准备;根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;用代理的方法,对游戏或者应用中的相关组件进行代理管理,并接收、触发和调用这些组件,以完成和应用或者游戏逻辑本身的整合。
【步骤S2】在分发时分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,将原先需要在分发渠道下载的重度游戏软件包转化为游戏内下载的数据包,而游戏本身的软件包大小最小仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小。
游戏本身的软件包大小最小做到仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小;但同时并不代表游戏本身的软件包本身要做到最小,游戏本身的软件包大小也可以做成虚拟中间件平台外加部分游戏功能,这样在有效降低游戏软件包本身的大小的同时,在游戏安装和启动后让用户玩游戏的同时再去下载完整的重度游戏软件包。
【步骤S3】下载完成后,由软件包所包含的虚拟中间件平台来解析、加载和运行完整的重度游戏软件包。
【步骤S4】后续再启动该游戏时,虚拟中间件平台检测到已经下载的重度游戏软件包并直接加载运行它;重度游戏软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
本发明方法所使用到的几个关键的技术点如下:(1)编程语言的动态加载特性:安卓平台使用的编程语言是Java或者C/C++等,如果是C/C++,即可使用C语言中的动态库加载机制;如果使用的是Java,可以使用该语言的反射机制(reflect)、代理机制(Proxy),如果是其它语言,也可以利用其它语言的动态加载特性达成同样目的;(2)安卓平台四大组件的代理机制:即对于安卓平台的四大组件:Activity、Service、Broadcast Receiver、Content Provider,由我们的平台进行代理管理,并在我们的平台上对应用或者游戏中所用到的这四大组件的生命周期进行管理。
此外,本发明所使用的技术架构如图3所示。
综上所述,本发明提出的基于安卓平台的重度游戏封包方法,将重度游戏比较大的软件包封装成了较小的软件包,为对软件包大小敏感的分发渠道提供了更加高效的分发方式,这样的渠道包括安卓智能手机的软件预装渠道、Push渠道、广告联盟和线上渠道等。因此能够大大增加游戏开发者的游戏分发能力,帮助他们提高产品的市场覆盖面,也能够更好地帮助以上渠道实现流量变现。同时,因为下载的完整游戏包可以放在外置存储卡上,因此大大节省了手机宝贵的内部存储空间。
本发明构建了一个安卓设备上的虚拟中间件平台,使得安卓设备上的应用或游戏的标准格式的安装包,无需安装就可以在这个虚拟中间件平台上运行。用户仅需下载和安装至少包含该虚拟中间件平台和下载界面的安装包,启动后再下载完整的重度游戏的安装包,再由该虚拟中间件平台实际运行和管理该重度游戏。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (4)
1.一种基于安卓平台的重度游戏封包方法,其特征在于,所述方法包括如下步骤:
步骤S1、构建一个虚拟中间件平台,虚拟中间件平台为在Android手机里构建的一个Android的运行环境;虚拟中间件平台兼容标准安卓平台的软件包格式;
步骤S2、在分发时分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,将原先需要在分发渠道下载的重度游戏软件包转化为游戏内下载的数据包,而游戏本身的软件包大小最小仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小;
步骤S3、下载完成后,由软件包所包含的虚拟中间件平台来解析、加载和运行完整的重度游戏软件包;
步骤S4、后续再启动该游戏时,虚拟中间件平台检测到已经下载的重度游戏软件包并直接加载运行它;重度游戏软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
2.根据权利要求1所述的基于安卓平台的重度游戏封包方法,其特征在于:
步骤S1中,虚拟中间件平台兼容标准安卓平台的软件包格式,在分发时分发至少包含虚拟中间件平台的软件包,由该软件包在安装和运行后下载完整的重度游戏软件包,重度游戏软件包运行在该虚拟中间件平台上,不需要安装过程即可启动和运行。
3.根据权利要求1所述的基于安卓平台的重度游戏封包方法,其特征在于:
所述步骤S1具体包括:
解析游戏或者应用的APK格式的封装包,读取关键配置文件,解析该应用或者游戏用到的安卓组件;
根据读取到的配置信息拦截组件中的相关API、代理组件中的相关对象,为应用或者游戏启动做好准备;
根据读取到的配置信息,利用语言的动态加载特性,加载、注册APK中的相应组件;
用代理的方法,对游戏或者应用中的相关组件进行代理管理,并接收、触发和调用这些组件,以完成和应用或者游戏逻辑本身的整合。
4.根据权利要求1所述的基于安卓平台的重度游戏封包方法,其特征在于:
所述步骤S2中,游戏本身的软件包大小最小做到仅是虚拟中间件平台的大小,外加一个数据下载界面,使得软件包本身能做到很小;但同时并不代表游戏本身的软件包本身要做到最小,游戏本身的软件包大小做成虚拟中间件平台外加部分游戏功能,这样在有效降低游戏软件包本身的大小的同时,在游戏安装和启动后让用户玩游戏的同时再去下载完整的重度游戏软件包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489613.6A CN104267983B (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的重度游戏封包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410489613.6A CN104267983B (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的重度游戏封包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104267983A true CN104267983A (zh) | 2015-01-07 |
CN104267983B CN104267983B (zh) | 2020-07-17 |
Family
ID=52159507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410489613.6A Active CN104267983B (zh) | 2014-09-23 | 2014-09-23 | 基于安卓平台的重度游戏封包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104267983B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220083A (zh) * | 2017-05-22 | 2017-09-29 | 韩皓 | 一种安卓系统中免安装运行应用程序的方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112232A1 (en) * | 2001-02-15 | 2002-08-15 | Ream James A. | System and process for building host computers |
KR20040102997A (ko) * | 2003-05-30 | 2004-12-08 | 이노에이스(주) | 가상머신 및 플레이어를 탑재하는 플랫폼시스템 |
CN101489175A (zh) * | 2009-02-24 | 2009-07-22 | 诚迈科技(南京)有限公司 | 基于cvm虚拟机技术的无线游戏平台 |
CN102081528A (zh) * | 2009-11-26 | 2011-06-01 | 冼剑光 | 一种大型软件边下载边运行的方法 |
US20110185013A1 (en) * | 2010-01-27 | 2011-07-28 | Code Systems Corporation | System for downloading and executing a virtual application |
CN102662712A (zh) * | 2012-04-10 | 2012-09-12 | 腾讯科技(深圳)有限公司 | 获取、推送应用程序的方法、设备和系统 |
CN103530162A (zh) * | 2013-10-22 | 2014-01-22 | 中国科学院信息工程研究所 | 一种虚拟机在线自动软件安装的方法及系统 |
CN103870316A (zh) * | 2014-04-11 | 2014-06-18 | 烽火通信科技股份有限公司 | 一种智能操作系统上的java虚拟机实现方法 |
-
2014
- 2014-09-23 CN CN201410489613.6A patent/CN104267983B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112232A1 (en) * | 2001-02-15 | 2002-08-15 | Ream James A. | System and process for building host computers |
KR20040102997A (ko) * | 2003-05-30 | 2004-12-08 | 이노에이스(주) | 가상머신 및 플레이어를 탑재하는 플랫폼시스템 |
CN101489175A (zh) * | 2009-02-24 | 2009-07-22 | 诚迈科技(南京)有限公司 | 基于cvm虚拟机技术的无线游戏平台 |
CN102081528A (zh) * | 2009-11-26 | 2011-06-01 | 冼剑光 | 一种大型软件边下载边运行的方法 |
US20110185013A1 (en) * | 2010-01-27 | 2011-07-28 | Code Systems Corporation | System for downloading and executing a virtual application |
CN102662712A (zh) * | 2012-04-10 | 2012-09-12 | 腾讯科技(深圳)有限公司 | 获取、推送应用程序的方法、设备和系统 |
CN103530162A (zh) * | 2013-10-22 | 2014-01-22 | 中国科学院信息工程研究所 | 一种虚拟机在线自动软件安装的方法及系统 |
CN103870316A (zh) * | 2014-04-11 | 2014-06-18 | 烽火通信科技股份有限公司 | 一种智能操作系统上的java虚拟机实现方法 |
Non-Patent Citations (1)
Title |
---|
张学成 叶晓俊: "基于虚拟机技术的高性能手机游戏平台", 《微计算机信息》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220083A (zh) * | 2017-05-22 | 2017-09-29 | 韩皓 | 一种安卓系统中免安装运行应用程序的方法和系统 |
CN107220083B (zh) * | 2017-05-22 | 2020-12-18 | 南京航空航天大学 | 一种安卓系统中免安装运行应用程序的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104267983B (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536524B (zh) | 资源更新方法、装置、终端及存储介质 | |
CN104375849A (zh) | 加载内核的方法及装置 | |
US9513891B2 (en) | Method and device for publishing and implementing wireless application | |
US9301081B1 (en) | Delivery of oversized branding elements for customization | |
US20160227276A1 (en) | Intelligent television operation system | |
US9158521B2 (en) | Automatic provisioning of a software platform to a device ecosystem | |
US8108497B2 (en) | Selective enablement of runtime-based application behaviors | |
CN101930366A (zh) | 一种基于浏览器的手机中间件 | |
CN104156243A (zh) | 一种应用分发和快速加载运行的系统及方法 | |
CN104077165A (zh) | 基于安卓平台的应用启动运行及管理方法及系统 | |
CN103970563A (zh) | 动态加载安卓类的方法 | |
KR102052776B1 (ko) | 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷 | |
CN112631622A (zh) | 应用安装方法、装置、服务器及计算机可读介质 | |
CN109213533B (zh) | 一种广告sdk动态加载方法、装置及终端 | |
CN103577226A (zh) | 一种IOS和Android平台上的组件式游戏构建方法 | |
CN107423093B (zh) | 控制方法及装置、计算机装置和计算机可读存储介质 | |
CN104267983A (zh) | 基于安卓平台的重度游戏封包方法 | |
CN102185970A (zh) | 手机视频播放器组件模型对象接口规范的建立方法 | |
CN111338633B (zh) | 免安装文件生成方法、装置及电子设备 | |
CN104267984A (zh) | 基于安卓平台的应用及游戏自动升级方法 | |
KR20090121949A (ko) | 모바일 콘텐츠 변환 방법 및 시스템 | |
JP2014086047A (ja) | ウェブサーバ装置及びプログラム配信方法 | |
CN116647731A (zh) | 操作系统的运行方法及装置、存储介质、电子设备 | |
CN116992434A (zh) | 一种以独立应用运行在沙盒环境中的方法 | |
TWI634481B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |