首页> 中国专利> 基于安卓系统的跨硬件平台的应用程序开发方法和系统

基于安卓系统的跨硬件平台的应用程序开发方法和系统

摘要

本发明公开了一种基于安卓系统的跨硬件平台的应用程序开发方法和系统,该方法包括:S01.预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合,根据当前所使用的硬件平台,从所述统一接口集合中抽象出属于当前所使用的硬件平台的接口集合;S02.应用程序客户端在当前所使用的硬件平台的接口集合的调用下,通过应用程序客户端向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,从而实现当前所使用的硬件平台的接口。本发明的技术方案屏蔽了硬件平台之间的差异,减少了应用软件的重复开发。

著录项

  • 公开/公告号CN103164207A

    专利类型发明专利

  • 公开/公告日2013-06-19

    原文格式PDF

  • 申请/专利权人 深圳市快播科技有限公司;

    申请/专利号CN201110422896.9

  • 发明设计人 邱荣华;陈宗高;

    申请日2011-12-16

  • 分类号G06F9/44(20060101);

  • 代理机构44217 深圳市顺天达专利商标代理有限公司;

  • 代理人李琴;高瑞

  • 地址 518057 广东省深圳市南山区高新南一道009号中国科技开发院中科研发园三号楼22层

  • 入库时间 2024-02-19 19:20:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-07

    专利权的转移 IPC(主分类):G06F9/44 登记生效日:20200618 变更前: 变更后: 申请日:20111216

    专利申请权、专利权的转移

  • 2016-09-07

    授权

    授权

  • 2014-09-24

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20140903 申请日:20111216

    专利申请权、专利权的转移

  • 2014-08-27

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20140805 申请日:20111216

    专利申请权、专利权的转移

  • 2013-07-24

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20111216

    实质审查的生效

  • 2013-06-19

    公开

    公开

查看全部

说明书

技术领域

本发明涉及计算机软件开发领域,尤其涉及一种基于安卓系统的跨硬件平台的应用程序开发方法和系统。

背景技术

一般软件开发的分层结构包含硬件层、操作系统层和应用程序层。硬件层接入硬件,应用程序层通过操作系统层与各硬件进行通信,获取各种参数信息。目前终端设备上的安卓(android)操作系统并未针对不同厂商的不同硬件平台提供统一的接口,而不同硬件平台主要是不同厂商的硬件可能使用不同的芯片,不同芯片可能使用不同的指令集,所以对于不同硬件平台的接口集合,可能使用不同shell命令。例如,硬件平台A的接口集合为a1、b1、c1,硬件平台B的接口集合为a2、b2、c2,硬件平台C的接口集合为a3、b3、c3。若所使用的硬件平台为A,则应用软件服务提供商在开发软件程序时,应用程序层必须能与接口a1、b1、c1进行通信,以获取或设置相应的参数;若所使用的硬件平台为B,则应用软件服务提供商在开发软件程序时,应用程序层必须能与接口a2、b2、c2进行通信,以获取或设置相应的参数。对于硬件平台C,同样如此。因此应用软件服务提供商就需要针对不同硬件厂商的不同硬件平台在应用程序上做调整,以通过不同的接口与不同硬件进行通信,而在应用程序上做调整是相当复杂而且重复的工作,这给软件开发带来很大不便。 

发明内容

本发明要解决的技术问题在于,针对现有技术的上述应用软件服务提供商需要针对不同硬件在应用程序上做调整以通过不同的接口与不同硬件进行通信的缺陷,提供一种能屏蔽硬件平台之间的差异从而可实现跨硬件平台的调用的基于安卓系统的跨硬件平台的应用程序开发方法。

本发明解决其技术问题所采用的技术方案是:构造一种基于安卓系统的跨硬件平台的应用程序开发方法,包括:

S01. 预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合,根据当前所使用的硬件平台,从所述统一接口集合中抽象出属于当前所使用的硬件平台的接口集合;

S02.应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,从而实现当前所使用的硬件平台的接口。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发方法中,所述代理服务器与应用程序客户端通过socket进行通信。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发方法中,在步骤S02中,通过安卓 NDK编译生成独立的代理服务器。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发方法中,在步骤S02中,获取或设置系统参数包括:获取IP、设置DNS、设置系统时间、获取/设置当前语言。

本发明还构造一种基于安卓系统的跨硬件平台的应用程序开发系统,包括:

硬件平台接口确定模块,用于预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合,根据当前所使用的硬件平台,从所述统一接口集合中抽象出属于当前所使用的硬件平台的接口集合;

硬件平台接口实现模块,用于应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,从而实现当前所使用的硬件平台的接口。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发系统中,所述代理服务器与应用程序客户端通过socket进行通信。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发系统中,通过安卓 NDK编译生成独立的代理服务器。

在本发明所述的基于安卓系统的跨硬件平台的应用程序开发系统中,获取或设置系统参数包括:获取IP、设置DNS、设置系统时间、获取/设置当前语言。

实施本发明的技术方案,在不同的硬件平台开发应用程序时,能根据所使用的硬件平台抽取出相应的接口集合,然后应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,所以,能够不需要根据不同的硬件平台对应用程序做相应的调整,因此,屏蔽了硬件平台之间的差异,减少了应用软件的重复开发。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明基于安卓系统的跨硬件平台的应用程序开发方法实施例一的流程图;

图2是本发明基于安卓系统的跨硬件平台的应用程序开发系统实施例一的逻辑图。

具体实施方式

首先说明的是,由于安卓操作系统的内核是Linux2.6,所以安卓系统上面的应用程序开发跟Linux有着千丝万缕的关系,对于跨硬件平台上的安卓系统来说,其中系统设置尤其重要,例如,设置以太网/无线网/PPPOE(拨号上网)等的网络参数、设置系统时间、设置UI等。

图1示出了本发明基于安卓系统的跨硬件平台的应用程序开发方法实施例一的流程图,该软件开发方法包括以下步骤:

S01. 预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合,根据当前所使用的硬件平台,从所述统一接口集合中抽象出属于当前所使用的硬件平台的接口集合;

S02. 应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,从而实现当前所使用的硬件平台的接口。其中,获取或设置系统参数可包括:获取IP、设置DNS、设置系统时间、获取/设置当前语言。在该步骤中,应说明的是,应用程序层获取或设置与硬件相关的参数一般情况下是通过应用程序层执行shell命令来实现,但应用程序层在执行shell命令时存在权限问题,因此设置了独立的代理服务器(proxy),该代理服务器解决了在应用程序层执行shell命令时出现的权限限制,为后续的获取或设置与硬件相关的参数信息提供基础服务。另一方面,所设置的代理服务器可执行与统一接口集合中所有接口相关的shell命令。

例如,共有三个硬件平台A、B、C,其中,硬件平台A的接口集合为a1、b1、c1,硬件平台B的接口集合为a2、b2、c2,硬件平台C的接口集合为a3、b3、c3。若接口b1与接口b2相同,接口c1与接口c3相同,则统一接口集合即为a1、b1、c1、a2、c2、a3、b3。若当前所使用的硬件平台为A,则所抽取的接口集合为a1、b1、c1;若当前所使用的硬件平台为B,则所抽取的接口集合为a2、b1、c2;若当前所使用的硬件平台为C,则所抽取的接口集合为a3、b3、c1。这样可减少重复的开发,节省工作量。而设置的代理服务器,一方面解决了应用程序层(JAVA层)执行shell命令时的权限问题,另一方面作为应用程序层的服务端,可执行与统一接口集合a1、b1、c1、a2、c2、a3、b3相关的shell命令。若当前所使用的硬件平台为A,应用程序客户端在该硬件平台A的接口集合a1、b1、c1的调用下,向代理服务器发送相应的shell命令,代理服务器执行与接口集合a1、b1、c1相关的shell命令,并将结果返回至应用程序客户端,该硬件平台A的接口集合a1、b1、c1可调用相关的shell命令的执行结果;若当前所使用的硬件平台为B,应用程序客户端在该硬件平台B的接口集合a2、b1、c2的调用下,向代理服务器发送相应的shell命令,代理服务器执行与接口集合为a2、b1、c2相关的shell命令,并将结果返回至应用程序层,该硬件平台A的接口集合a1、b1、c1可调用相关的shell命令的执行结果;若当前所使用的硬件平台为C,应用程序客户端在该硬件平台C的接口集合a3、b3、c1的调用下,向代理服务器发送相应的shell命令,代理服务器执行与接口集合为a3、b3、c1相关的shell命令,并将结果返回至应用程序层,该硬件平台C的接口集合a3、b3、c1可调用相关的shell命令的执行结果。

实施该实施例的技术方案,预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合。在不同的硬件平台开发应用程序时,能根据所使用的硬件平台抽取出相应的接口集合,然后应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,所以,能够不需要根据不同的硬件平台对应用程序做相应的调整,因此,屏蔽了硬件平台之间的差异,减少了应用软件的重复开发。

在上述步骤S02中,优选地,可优选通过安卓NDK(Native Development Kit,本机开发工具包)编译生成一个独立的代理服务器(proxy)。在该步骤中,还应当说明的是,应用程序层(即JAVA层)相对于代理服务器作为客户端,负责与代理服务器之间进行通信,优选socket通信,指示代理服务器实现shell命令的执行;代理服务器优选由NDK编译的socket服务端进程,用于在安卓系统上执行shell命令,并将结果返回给应用程序层。应用程序层和代理服务器之间通过socket进行通信,就是考虑到socket在跨平台方面的优势,这样对所有的安卓操作系统都能够使用。当然,这只是其中一个实施例,在其它实施例中,应用程序层和代理服务器之间的通信方式还可采用其它的IPC(Inter-Process Communication,进程间通信)的方式,例如,消息队列+共享内存。

图2是本发明基于安卓系统的跨硬件平台的应用程序开发系统实施例一的逻辑图,该基于安卓系统的软件开发系统包括依次连接的硬件平台接口确定模块10、硬件平台接口实现模块20。其中,硬件平台接口确定模块10用于预先将所有硬件平台的接口集合进行合并,且不同硬件平台的相同接口仅保留一个,从而得到统一接口集合,根据当前所使用的硬件平台,从所述统一接口集合中抽象出属于当前所使用的硬件平台的接口集合;硬件平台接口实现模块20用于应用程序客户端在当前所使用的硬件平台的接口集合的调用下,向所设置的代理服务器发送shell命令,代理服务器执行shell命令,以获取或设置系统参数,并向应用程序客户端发送shell命令的执行结果,从而实现当前所使用的硬件平台的接口,获取或设置系统参数包括:获取IP、设置DNS、设置系统时间、获取/设置当前语言。

在上述实施例中,优选地,代理服务器与应用程序层通过socket进行通信。另外,代理服务器优选通过安卓 NDK在应用程序层和操作系统层之间生成独立的代理服务器。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号