安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法

文档序号:10511954阅读:280来源:国知局
安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法
【专利摘要】本发明公开一种安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法。接入方法包括:加载主应用程序入口;初始化外壳模块;注入程序加载器;初始化资源加载器;运行主应用程序;主应用程序发送命令启动开放服务APK模块;外壳模块拦截命令,使用自定义的程序加载器和资源加载器来加载指定目录下的开放服务APK模块。对于服务提供者,可提供更加友好的服务接入和管理方式,使得可以控制服务的升级和版本管理。对于服务接入者,无需关心服务升级问题,避免每次升级都需要重新集成新的SDK库,并且可实现服务热部署,减少发布程序频率以及发布程序包的体积,增加软件下载和使用率。对于用户而言,也可以第一时间享受最新最好的服务。
【专利说明】
安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法
技术领域
[0001 ] 本发明涉及一种安卓(android)平台开放服务接入技术,尤其涉及一种android平台开放服务的接入系统及其生成系统和生成方法以及接入方法。
【背景技术】
[0002]在“开放、自由、协作、共享”的互联网精神下,许多公司或组织比如阿里、百度、腾讯等为第三方开发者提供各种平台的开放的服务,比如数据统计、地图、社交分享等。第三方开发者不需要二次开发即可以低成本地集成这些服务到自己的软件中,公司或组织也可以通过收费授权、大数据收集等直接或间接方式获取利益,达到互利共赢。随着移动互联网、Android平台智能设备的普及,Android平台的开放服务已经呈现爆发式的增长。
[0003]目前,大部分Android平台的开放服务接入方式是将资源文件和代码组织成软件开放工具包(Software Develop KU,简称为SDK库),第三方开发者需要将SDK库导入到自己的应用程序中,并在编译时将资源和代码编译进自己的程序,这样带来三个问题:
[0004]1.服务提供者不能控制服务的升级和版本管理;
[0005]2.服务接入后即固定,不能更改、升级,如需升级,第三方开发者需要重新集成新的SDK库,再次发布版本;
[0006]3.服务需要第三方开发者发布软件时就集成进来,这样会增加软件本身的体积,增加用户下载安装的成本,影响用户体验。

【发明内容】

[0007]本发明要解决的技术问题是提出一种通过外壳模块接入开放服务模块的android平台开放服务的接入系统及其生成系统和生成方法以及接入方法。
[0008]为解决上述技术问题,本发明采用如下技术方案:
[0009]—方面,提供一种安卓平台开放服务接入系统。该系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
[0010]对于上述的安卓平台开放服务接入系统,外壳模块包括升级管理单元、程序加载器和资源加载器。
[0011]第二方面,提供一种上述安卓平台开放服务接入系统的生成设备。该设备包括依次相连的开放服务APK模块生成单元、外壳模块生成单元、以及外壳模块加入主应用程序单
J L ο
[0012]对于上述的安卓平台开放服务接入系统的生成设备,开放服务APK模块生成单元用于将开放服务通过集成开发软件编译打包成APP程序即得到开放服务APK模块;外壳模块生成单元用于利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块实现外壳模块;外壳模块加入主应用程序单元用于将外壳模块加入主应用程序中。
[0013]第三方面,提供一种安卓平台开放服务接入系统的生成方法。该方法包括如下步骤:
[0014]将开放服务通过集成开发软件编译打包成APP程序即得到开放服务APK模块,将开放服务APK模块独立于主应用程序来保存;
[0015]利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块实现外壳模块;
[0016]将外壳模块加入主应用程序中。
[0017]对于上述的安卓平台开放服务接入系统的生成方法,生成的安卓平台开放服务接入系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
[0018]对于上述的安卓平台开放服务接入系统的生成方法,外壳模块包括升级管理单元、程序加载器和资源加载器。
[0019]第四方面,提供一种安卓平台开放服务接入方法。该方法包括如下步骤:
[0020]加载主应用程序入口;
[0021 ]初始化开放服务的外壳模块;
[0022]注入开放服务的程序加载器;
[0023]初始化开放服务的资源加载器;
[0024]运行主应用程序;
[0025]主应用程序发送命令启动开放服务APK模块;
[0026]外壳模块拦截命令,使用自定义的开放服务的程序加载器和开放服务的资源加载器来加载指定目录下的开放服务APK模块。
[0027]上述的安卓平台开放服务接入方法基于安卓平台开放服务接入系统运行,安卓平台开放服务接入系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
[0028]对于上述的安卓平台开放服务接入方法,外壳模块包括升级管理单元、程序加载器和资源加载器。
[0029]与现有技术相比,本发明技术方案主要的优点如下:
[0030 ]本发明的安卓平台开放服务接入系统和接入方法突破传统的开放服务接入模式,是一项新的技术革新,解决了以上三个问题。对于服务提供者,可以提供更加友好的服务接入和管理方式,使得可以控制服务的升级和版本管理。对于服务接入者(第三方开发者),无需关心服务升级问题,避免了每次升级都需要重新集成新的SDK库,并且可以实现服务热部署,减少发布程序频率以及发布程序包的体积,增加了软件下载和使用率。对于用户而言,也可以第一时间享受最新最好的服务。
【附图说明】
[0031]图1示出本发明一个实施例所述的Android平台开放服务接入系统;
[0032]图2示出本发明一个实施例所述的Android平台开放服务接入系统的生成设备;
[0033]图3示出本发明一个实施例所述的Android平台开放服务接入系统的生成方法;
[0034]图4是主应用程序的运行过程的流程图;
[0035]图5是接入开放服务APK模块的方法的流程图。
【具体实施方式】
[0036]如图1所示,本发明一个实施利所述的安卓平台开放服务接入系统包括:主应用程序11、加入主应用程序11的外壳模块12、以及独立于主应用程序11并且与外壳模块12相关联的开放服务APK(Android Package,安卓安装包)模块13。
[0037]其中,外壳模块12包括:升级管理单元121、程序加载器122和资源加载器123。
[0038]开放服务APK模块13是将开放服务通过普通的集成开发软件编译打包成的普通应用程序(APP程序)。外壳模块12是利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现的外壳程序,外壳程序以独立jar包的形式分发,也可以以库项目文件的形式分发。第三方开发者只需将外壳模块12加入自己的主应用程序11中,外壳模块12负责开放服务APK模块13的加载、升级管理等服务。
[0039]如图2所示,上述安卓平台开放服务接入系统的生成设备包括依次相连的开放服务APK模块生成单元21、外壳模块生成单元22、以及外壳模块加入主应用程序单元23。
[0040]其中,开放服务APK模块生成单元21用于将开放服务通过普通的集成开发软件编译打包成普通APP程序即得到开放服务APK模块13;外壳模块生成单元22用于利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现外壳模块12;外壳模块加入主应用程序单元23用于将外壳模块12加入主应用程序11中。
[0041]如图3所示,上述安卓平台开放服务接入系统的生成方法包括如下步骤:
[0042]步骤Sll,将开放服务通过普通的集成开发软件编译打包成普通APP程序即得到开放服务APK模块13,将开放服务APK模块13独立于主应用程序11来保存;
[0043]步骤S12,利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现外壳模块12;
[0044]步骤S13,将外壳模块12加入主应用程序11中。
[0045]上述安卓平台开放服务接入系统的运行方法主要包括先后两个过程:一个过程是主应用程序11的运行,另一个过程是没有被安装的开放服务APK模块13的运行,即接入开放服务的过程。
[0046]首先,如图4所示,主应用程序11的运行过程包括如下步骤:
[0047]步骤S21,操作系统接收到运行主应用程序的命令;
[0048]步骤S22,创建主应用程序的程序加载器;
[0049]步骤S23,创建主应用程序的资源加载器;
[0050]步骤S24,解压安装的程序包;
[0051 ]步骤S25,解析应用组件清单;
[0052]步骤S26,加载运行主应用程序的入口程序;
[0053]步骤S27,运行显示主应用程序的主界面。
[0054]本发明的技术难点在于如何模拟系统运行一个没有被安装的APP。因为Android系统权限限制,应用组件代码无法直接被运行,组件需要先注册到安装应用包清单文件里,被动地被系统运行或者主动地发送命令给系统去运行注册的组件代码。为了解决这个难点,本发明通过运行时将外壳模块12中自己编写的程序加载器122和资源加载器123注入到应用运行上下文环境中,即Context对象中,主应用程序11在适当的应用场景下启动开放服务。由于开放服务APK模块3是动态加载运行,和主应用程序11分离,这样就可以用外壳模块12来实现服务的热部署和自动升级了。
[0055]因此,如图5所示,开放服务APK模块3的运行方法,也就是接入开放服务的方法包括如下步骤:
[0056]步骤S28,加载主应用程序入口;
[0057]步骤S29,初始化开放服务的外壳模块12;
[0058]步骤S30,注入开放服务的程序加载器122;
[0059]步骤S31,初始化开放服务的资源加载器123;
[0060]步骤S32,运行主应用程序11;
[0061]步骤S33,主应用程序11发送命令启动开放服务APK模块13;
[0062]步骤S34,外壳模块12拦截命令,使用自定义的开放服务的程序加载器122和开放服务的资源加载器123来加载指定目录下的开放服务APK模块13。
[0063]下面,以地图这种开放服务为例进一步说明本发明的技术方案。
[0064]地图接入系统的生成方法包括如下步骤:
[0065]获取已有的地图SDK开发包,通过普通的集成开发软件将SDK开发包中的jar文件和资源文件编译打包成普通的APP程序得到地图APK模块,将地图APK模块独立于主应用程序来保存;
[0066]利用Android系统资源和程序加载机制及软件运行原理对得到的地图APK模块实现外壳程序,外壳程序以独立jar包的形式分发;
[0067]第三方开发者只需将外壳程序加入自己的主应用程序中,外壳程序负责地图的加载、升级管理服务。
[0068]主应用程序需要用到地图时,接入地图的方法包括如下步骤:
[0069]加载主应用程序入口;
[0070]初始化地图APK的外壳模块;
[0071]注入地图的程序加载器;
[0072]初始化地图的资源加载器;
[0073]运行主应用程序;
[0074]主应用程序发送命令启动地图APK模块;
[0075]外壳模块拦截命令,使用自定义的地图程序加载器和地图资源加载器来加载指定目录下的地图APK模块。
【主权项】
1.一种安卓平台开放服务接入系统,包括主应用程序(11),其特征在于,该系统还包括加入主应用程序(11)的外壳模块(12)、以及独立于主应用程序(11)并且与外壳模块(12)相关联的开放服务APK模块(13)。2.如权利要求1所述的安卓平台开放服务接入系统,其特征在于,外壳模块(12)包括升级管理单元(121)、程序加载器(122)和资源加载器(123)。3.—种如权利要求1或2所述的安卓平台开放服务接入系统的生成设备,其特征在于,该设备包括依次相连的开放服务APK模块生成单元(21)、外壳模块生成单元(22)、以及外壳模块加入主应用程序单元(23)。4.如权利要求3所述的安卓平台开放服务接入系统的生成设备,其特征在于,开放服务APK模块生成单元(21)用于将开放服务通过集成开发软件编译打包成应用程序即得到开放服务APK模块(13);外壳模块生成单元(22)用于利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块(13)实现外壳模块(12);外壳模块加入主应用程序单元(23)用于将外壳模块(12)加入主应用程序(11)中。5.—种安卓平台开放服务接入系统的生成方法,其特征在于,包括如下步骤: 将开放服务通过集成开发软件编译打包成应用程序即得到开放服务APK模块(13),将开放服务APK模块(13)独立于主应用程序(11)来保存; 利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块(13)实现外壳模块(12); 将外壳模块(12)加入主应用程序(11)中。6.如权利要求5所述的安卓平台开放服务接入系统的生成方法,其特征在于,生成的安卓平台开放服务接入系统包括主应用程序(U)、加入主应用程序(11)的外壳模块(12)、以及独立于主应用程序(11)并且与外壳模块(12)相关联的开放服务APK模块(13)。7.如权利要求6所述的安卓平台开放服务接入系统的生成方法,其特征在于,外壳模块(12)包括升级管理单元(121)、程序加载器(122)和资源加载器(123)。8.一种安卓平台开放服务接入方法,其特征在于,包括如下步骤: 加载主应用程序入口; 初始化开放服务的外壳模块(12); 注入开放服务的程序加载器(122); 初始化开放服务的资源加载器(123); 运行主应用程序(11); 主应用程序(11)发送命令启动开放服务APK模块(13); 外壳模块(12)拦截命令,使用自定义的开放服务的程序加载器(122)和开放服务的资源加载器(123)来加载指定目录下的开放服务APK模块(13)。9.如权利要求8所述的安卓平台开放服务接入方法,其特征在于,该方法基于安卓平台开放服务接入系统运行,安卓平台开放服务接入系统包括主应用程序(U)、加入主应用程序(11)的外壳模块(12)、以及独立于主应用程序(11)并且与外壳模块(12)相关联的开放服务APK模块(13)。10.如权利要求9所述的安卓平台开放服务接入方法,其特征在于,外壳模块(12)包括升级管理单元(121)、程序加载器(122)和资源加载器(123)。
【文档编号】G06F9/445GK105867964SQ201510939507
【公开日】2016年8月17日
【申请日】2015年12月15日
【发明人】李振年
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1