CN105867964A - 安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 - Google Patents
安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 Download PDFInfo
- Publication number
- CN105867964A CN105867964A CN201510939507.8A CN201510939507A CN105867964A CN 105867964 A CN105867964 A CN 105867964A CN 201510939507 A CN201510939507 A CN 201510939507A CN 105867964 A CN105867964 A CN 105867964A
- Authority
- CN
- China
- Prior art keywords
- open service
- module
- application program
- primary application
- program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000011161 development Methods 0.000 claims description 2
- 230000006833 reintegration Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法。接入方法包括:加载主应用程序入口;初始化外壳模块;注入程序加载器;初始化资源加载器;运行主应用程序;主应用程序发送命令启动开放服务APK模块;外壳模块拦截命令,使用自定义的程序加载器和资源加载器来加载指定目录下的开放服务APK模块。对于服务提供者,可提供更加友好的服务接入和管理方式,使得可以控制服务的升级和版本管理。对于服务接入者,无需关心服务升级问题,避免每次升级都需要重新集成新的SDK库,并且可实现服务热部署,减少发布程序频率以及发布程序包的体积,增加软件下载和使用率。对于用户而言,也可以第一时间享受最新最好的服务。
Description
技术领域
本发明涉及一种安卓(android)平台开放服务接入技术,尤其涉及一种android平台开放服务的接入系统及其生成系统和生成方法以及接入方法。
背景技术
在“开放、自由、协作、共享”的互联网精神下,许多公司或组织比如阿里、百度、腾讯等为第三方开发者提供各种平台的开放的服务,比如数据统计、地图、社交分享等。第三方开发者不需要二次开发即可以低成本地集成这些服务到自己的软件中,公司或组织也可以通过收费授权、大数据收集等直接或间接方式获取利益,达到互利共赢。随着移动互联网、Android平台智能设备的普及,Android平台的开放服务已经呈现爆发式的增长。
目前,大部分Android平台的开放服务接入方式是将资源文件和代码组织成软件开放工具包(Software Develop Kit,简称为SDK库),第三方开发者需要将SDK库导入到自己的应用程序中,并在编译时将资源和代码编译进自己的程序,这样带来三个问题:
1.服务提供者不能控制服务的升级和版本管理;
2.服务接入后即固定,不能更改、升级,如需升级,第三方开发者需要重新集成新的SDK库,再次发布版本;
3.服务需要第三方开发者发布软件时就集成进来,这样会增加软件本身的体积,增加用户下载安装的成本,影响用户体验。
发明内容
本发明要解决的技术问题是提出一种通过外壳模块接入开放服务模块的android平台开放服务的接入系统及其生成系统和生成方法以及接入方法。
为解决上述技术问题,本发明采用如下技术方案:
一方面,提供一种安卓平台开放服务接入系统。该系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
对于上述的安卓平台开放服务接入系统,外壳模块包括升级管理单元、程序加载器和资源加载器。
第二方面,提供一种上述安卓平台开放服务接入系统的生成设备。该设备包括依次相连的开放服务APK模块生成单元、外壳模块生成单元、以及外壳模块加入主应用程序单元。
对于上述的安卓平台开放服务接入系统的生成设备,开放服务APK模块生成单元用于将开放服务通过集成开发软件编译打包成APP程序即得到开放服务APK模块;外壳模块生成单元用于利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块实现外壳模块;外壳模块加入主应用程序单元用于将外壳模块加入主应用程序中。
第三方面,提供一种安卓平台开放服务接入系统的生成方法。该方法包括如下步骤:
将开放服务通过集成开发软件编译打包成APP程序即得到开放服务APK模块,将开放服务APK模块独立于主应用程序来保存;
利用安卓系统资源和程序加载机制及软件运行原理对于开放服务APK模块实现外壳模块;
将外壳模块加入主应用程序中。
对于上述的安卓平台开放服务接入系统的生成方法,生成的安卓平台开放服务接入系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
对于上述的安卓平台开放服务接入系统的生成方法,外壳模块包括升级管理单元、程序加载器和资源加载器。
第四方面,提供一种安卓平台开放服务接入方法。该方法包括如下步骤:
加载主应用程序入口;
初始化开放服务的外壳模块;
注入开放服务的程序加载器;
初始化开放服务的资源加载器;
运行主应用程序;
主应用程序发送命令启动开放服务APK模块;
外壳模块拦截命令,使用自定义的开放服务的程序加载器和开放服务的资源加载器来加载指定目录下的开放服务APK模块。
上述的安卓平台开放服务接入方法基于安卓平台开放服务接入系统运行,安卓平台开放服务接入系统包括主应用程序、加入主应用程序的外壳模块、以及独立于主应用程序并且与外壳模块相关联的开放服务APK模块。
对于上述的安卓平台开放服务接入方法,外壳模块包括升级管理单元、程序加载器和资源加载器。
与现有技术相比,本发明技术方案主要的优点如下:
本发明的安卓平台开放服务接入系统和接入方法突破传统的开放服务接入模式,是一项新的技术革新,解决了以上三个问题。对于服务提供者,可以提供更加友好的服务接入和管理方式,使得可以控制服务的升级和版本管理。对于服务接入者(第三方开发者),无需关心服务升级问题,避免了每次升级都需要重新集成新的SDK库,并且可以实现服务热部署,减少发布程序频率以及发布程序包的体积,增加了软件下载和使用率。对于用户而言,也可以第一时间享受最新最好的服务。
附图说明
图1示出本发明一个实施例所述的Android平台开放服务接入系统;
图2示出本发明一个实施例所述的Android平台开放服务接入系统的生成设备;
图3示出本发明一个实施例所述的Android平台开放服务接入系统的生成方法;
图4是主应用程序的运行过程的流程图;
图5是接入开放服务APK模块的方法的流程图。
具体实施方式
如图1所示,本发明一个实施利所述的安卓平台开放服务接入系统包括:主应用程序11、加入主应用程序11的外壳模块12、以及独立于主应用程序11并且与外壳模块12相关联的开放服务APK(Android Package,安卓安装包)模块13。
其中,外壳模块12包括:升级管理单元121、程序加载器122和资源加载器123。
开放服务APK模块13是将开放服务通过普通的集成开发软件编译打包成的普通应用程序(APP程序)。外壳模块12是利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现的外壳程序,外壳程序以独立jar包的形式分发,也可以以库项目文件的形式分发。第三方开发者只需将外壳模块12加入自己的主应用程序11中,外壳模块12负责开放服务APK模块13的加载、升级管理等服务。
如图2所示,上述安卓平台开放服务接入系统的生成设备包括依次相连的开放服务APK模块生成单元21、外壳模块生成单元22、以及外壳模块加入主应用程序单元23。
其中,开放服务APK模块生成单元21用于将开放服务通过普通的集成开发软件编译打包成普通APP程序即得到开放服务APK模块13;外壳模块生成单元22用于利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现外壳模块12;外壳模块加入主应用程序单元23用于将外壳模块12加入主应用程序11中。
如图3所示,上述安卓平台开放服务接入系统的生成方法包括如下步骤:
步骤S11,将开放服务通过普通的集成开发软件编译打包成普通APP程序即得到开放服务APK模块13,将开放服务APK模块13独立于主应用程序11来保存;
步骤S12,利用Android系统资源和程序加载机制及软件运行原理对于开放服务APK模块13实现外壳模块12;
步骤S13,将外壳模块12加入主应用程序11中。
上述安卓平台开放服务接入系统的运行方法主要包括先后两个过程:一个过程是主应用程序11的运行,另一个过程是没有被安装的开放服务APK模块13的运行,即接入开放服务的过程。
首先,如图4所示,主应用程序11的运行过程包括如下步骤:
步骤S21,操作系统接收到运行主应用程序的命令;
步骤S22,创建主应用程序的程序加载器;
步骤S23,创建主应用程序的资源加载器;
步骤S24,解压安装的程序包;
步骤S25,解析应用组件清单;
步骤S26,加载运行主应用程序的入口程序;
步骤S27,运行显示主应用程序的主界面。
本发明的技术难点在于如何模拟系统运行一个没有被安装的APP。因为Android系统权限限制,应用组件代码无法直接被运行,组件需要先注册到安装应用包清单文件里,被动地被系统运行或者主动地发送命令给系统去运行注册的组件代码。为了解决这个难点,本发明通过运行时将外壳模块12中自己编写的程序加载器122和资源加载器123注入到应用运行上下文环境中,即Context对象中,主应用程序11在适当的应用场景下启动开放服务。由于开放服务APK模块3是动态加载运行,和主应用程序11分离,这样就可以用外壳模块12来实现服务的热部署和自动升级了。
因此,如图5所示,开放服务APK模块3的运行方法,也就是接入开放服务的方法包括如下步骤:
步骤S28,加载主应用程序入口;
步骤S29,初始化开放服务的外壳模块12;
步骤S30,注入开放服务的程序加载器122;
步骤S31,初始化开放服务的资源加载器123;
步骤S32,运行主应用程序11;
步骤S33,主应用程序11发送命令启动开放服务APK模块13;
步骤S34,外壳模块12拦截命令,使用自定义的开放服务的程序加载器122和开放服务的资源加载器123来加载指定目录下的开放服务APK模块13。
下面,以地图这种开放服务为例进一步说明本发明的技术方案。
地图接入系统的生成方法包括如下步骤:
获取已有的地图SDK开发包,通过普通的集成开发软件将SDK开发包中的jar文件和资源文件编译打包成普通的APP程序得到地图APK模块,将地图APK模块独立于主应用程序来保存;
利用Android系统资源和程序加载机制及软件运行原理对得到的地图APK模块实现外壳程序,外壳程序以独立jar包的形式分发;
第三方开发者只需将外壳程序加入自己的主应用程序中,外壳程序负责地图的加载、升级管理服务。
主应用程序需要用到地图时,接入地图的方法包括如下步骤:
加载主应用程序入口;
初始化地图APK的外壳模块;
注入地图的程序加载器;
初始化地图的资源加载器;
运行主应用程序;
主应用程序发送命令启动地图APK模块;
外壳模块拦截命令,使用自定义的地图程序加载器和地图资源加载器来加载指定目录下的地图APK模块。
Claims (10)
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所述的安卓平台开放服务接入系统的生成方法,其特征在于,生成的安卓平台开放服务接入系统包括主应用程序(11)、加入主应用程序(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所述的安卓平台开放服务接入方法,其特征在于,该方法基于安卓平台开放服务接入系统运行,安卓平台开放服务接入系统包括主应用程序(11)、加入主应用程序(11)的外壳模块(12)、以及独立于主应用程序(11)并且与外壳模块(12)相关联的开放服务APK模块(13)。
10.如权利要求9所述的安卓平台开放服务接入方法,其特征在于,外壳模块(12)包括升级管理单元(121)、程序加载器(122)和资源加载器(123)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510939507.8A CN105867964A (zh) | 2015-12-15 | 2015-12-15 | 安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510939507.8A CN105867964A (zh) | 2015-12-15 | 2015-12-15 | 安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105867964A true CN105867964A (zh) | 2016-08-17 |
Family
ID=56623770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510939507.8A Pending CN105867964A (zh) | 2015-12-15 | 2015-12-15 | 安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105867964A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775862A (zh) * | 2016-12-08 | 2017-05-31 | 蓝信工场(北京)科技有限公司 | 应用加载方法及装置 |
CN108829405A (zh) * | 2018-06-04 | 2018-11-16 | 网易(杭州)网络有限公司 | 渠道包的生成方法及装置、存储介质、电子装置 |
US12056479B2 (en) | 2019-12-27 | 2024-08-06 | Huawei Technologies Co., Ltd. | Mobile service upgrade method and apparatus, and terminal |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100269048A1 (en) * | 2009-04-15 | 2010-10-21 | Wyse Technology Inc. | Method and system of specifying application user interface of a remote client device |
CN102123196A (zh) * | 2010-12-29 | 2011-07-13 | 浙大网新科技股份有限公司 | 在Android手机上实现WinCE/Android混合API的方法 |
CN102306103A (zh) * | 2011-08-25 | 2012-01-04 | 华南理工大学 | 一种Android RTSP播放器的SDK模块 |
CN103294455A (zh) * | 2012-02-27 | 2013-09-11 | 杭州勒卡斯广告策划有限公司 | 一种软件服务实现方法、系统及Java平台 |
US20140228001A1 (en) * | 2013-02-08 | 2014-08-14 | Nxp B.V. | Controlling Application Access to Mobile Device Functions |
US20140259004A1 (en) * | 2013-03-07 | 2014-09-11 | Go Daddy Operating Company, LLC | System for trusted application deployment |
CN104572054A (zh) * | 2013-10-22 | 2015-04-29 | 中国移动通信集团公司 | 一种能力调用方法和设备 |
-
2015
- 2015-12-15 CN CN201510939507.8A patent/CN105867964A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100269048A1 (en) * | 2009-04-15 | 2010-10-21 | Wyse Technology Inc. | Method and system of specifying application user interface of a remote client device |
CN102123196A (zh) * | 2010-12-29 | 2011-07-13 | 浙大网新科技股份有限公司 | 在Android手机上实现WinCE/Android混合API的方法 |
CN102306103A (zh) * | 2011-08-25 | 2012-01-04 | 华南理工大学 | 一种Android RTSP播放器的SDK模块 |
CN103294455A (zh) * | 2012-02-27 | 2013-09-11 | 杭州勒卡斯广告策划有限公司 | 一种软件服务实现方法、系统及Java平台 |
US20140228001A1 (en) * | 2013-02-08 | 2014-08-14 | Nxp B.V. | Controlling Application Access to Mobile Device Functions |
US20140259004A1 (en) * | 2013-03-07 | 2014-09-11 | Go Daddy Operating Company, LLC | System for trusted application deployment |
CN104572054A (zh) * | 2013-10-22 | 2015-04-29 | 中国移动通信集团公司 | 一种能力调用方法和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775862A (zh) * | 2016-12-08 | 2017-05-31 | 蓝信工场(北京)科技有限公司 | 应用加载方法及装置 |
CN108829405A (zh) * | 2018-06-04 | 2018-11-16 | 网易(杭州)网络有限公司 | 渠道包的生成方法及装置、存储介质、电子装置 |
US12056479B2 (en) | 2019-12-27 | 2024-08-06 | Huawei Technologies Co., Ltd. | Mobile service upgrade method and apparatus, and terminal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063239B (zh) | 移动终端的应用程序更新方法及服务器、客户端 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN105100191A (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN103259936B (zh) | 移动终端操作系统升级方法及其装置 | |
CN105955787B (zh) | 一种用于Android系统的插件加载方法及装置 | |
US8285787B2 (en) | Systems and methods for managing a collaboration space having application hosting capabilities | |
KR20160060023A (ko) | 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치 | |
Apolinarski et al. | The GAMBAS middleware and SDK for smart city applications | |
CN103729189A (zh) | 基于lua的播放协议转换方法、系统、终端 | |
CN105516154B (zh) | 应用于SEAndroid系统的安全策略配置方法及装置 | |
CN109495433A (zh) | 数据下载方法和装置、存储介质及电子装置 | |
CN103731445A (zh) | 一种基于ios的应用智能更新系统及方法 | |
CN113688186B (zh) | 智能合约执行方法、引擎及区块链节点 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
Puder et al. | Exposing native device APIs to web apps | |
CN105867964A (zh) | 安卓平台开放服务接入系统及其生成系统和生成方法以及接入方法 | |
Houacine et al. | MCC-OSGi: An OSGi-based mobile cloud service model | |
CN102664952B (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN101277221A (zh) | 一种网管应用程序的部署及应用方法 | |
CN107894886B (zh) | 一种运行代码的方法、装置及终端设备 | |
WO2016173807A1 (en) | Application framework | |
CN103177211A (zh) | 软件的用户端注册方法及系统 | |
CN101751258A (zh) | 智能卡与智能卡应用的开发方法、开发系统及部署方法 | |
CN109933355A (zh) | 应用程序升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |
|
WD01 | Invention patent application deemed withdrawn after publication |