一种跨移动终端的混合app开发方法及装置制造方法

文档序号:6524616阅读:121来源:国知局
一种跨移动终端的混合app开发方法及装置制造方法
【专利摘要】本发明提出了一种跨移动终端的混合APP开发方法,包括如下步骤:在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web?APP;在所述native沙箱之上开发APP;把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。本发明还涉及一种实现上述跨移动终端的混合APP开发方法的装置。实施本发明的跨移动终端的混合APP开发方法及装置,具有以下有益效果:速度较快、安全性较好。
【专利说明】一种跨移动终端的混合APP开发方法及装置
【技术领域】
[0001]本发明涉及应用开发领域,特别涉及一种跨移动终端的混合APP开发方法及装置。
【背景技术】
[0002]目前主流的智能移动设备操作系统包括Android、iOS、Windows Phone等等,每个操作系统提供的Native Language (智能终端操作系统提供的开发语言,例如Android是java, iOS是Object C)都不一样,如果采用Native开发的方式,就必须为每个操作系统分别编写对应的APP (Application,应用)。如果想开发跨平台APP (即在多种智能移动设备操作系统上都可以运行的APP),目前一般采用HTML5来编写Web APP0 Web APP部署在Web服务器上,无需安装到移动设备上;用户通过移动设备上的浏览器来访问Web服务器,即可使用Web APP0图1为移动设备上的浏览器与Web服务器之间交互的示意图。虽然HTML5被目前很多APP开发者或者公司采用,其同时也曝露出来它的很多技术问题,如:Web APP的HTML5页面和资源文件(例如页面中用到的图片等)是部署在Web服务器端的,用户每次使用Web APP的时候,页面和资源文件每次都需要下载到移动设备上。在移动设备网络信号不是很好的情况下速度会比较差,用户会感觉到使用起来速度慢。此外,输出到移动设备的HTML5页面的源代码,是可以被查看到的(很多浏览器都提供了查看页面源代码的功能)。写在源代码中的程序逻辑存在被恶意份子知道的风险,所以其安全性较差。

【发明内容】

[0003]本发明要解决的技术问题在于,针对现有技术的上述速度较慢、安全性较差的缺陷,提供一种速度较快、安全性较好的跨移动终端的混合APP开发方法及装置。
[0004]本发明解决其技术问题所采用的技术方案是:构造一种跨移动终端的混合APP开发方法,包括如下步骤:
A)在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP ;
B)在所述native沙箱之上开发APP;
C)把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;
D)用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
[0005]在本发明所述的跨移动终端的混合APP开发方法中,所述步骤D)进一步包括: Dl)用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动
终端上;
D2)对所述APP安装包进行解压并将解压后得到的APP存放到一个目录下;
每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
[0006]在本发明所述的跨移动终端的混合APP开发方法中,所述步骤C)中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。
[0007]在本发明所述的跨移动终端的混合APP开发方法中,所述移动终端通过云安全服务器与APP服务器通讯,在所述步骤D)之后还包括:
E)native沙盒启动并请求所述云安全服务器下载体检程序;
F)所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒;
G)所述native沙盒调用所述体检程序对其进行体检;
H)对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,执行步骤I);否则,将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器;
I)将所述安全凭证返回给所述native沙盒;
J)对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。
[0008]在本发明所述的跨移动终端的混合APP开发方法中,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。
[0009]本发明还涉及一种实现上述跨移动终端的混合APP开发方法的装置,包括: 沙箱开发单元:用于在不同的操作系统上用native开发方式实现统一的native沙箱;
所述native沙箱能执行Web APP ;
应用开发单元:用于在所述native沙箱之上开发APP ;
打包单元:用于把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;
下载单元:用于使用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
[0010]在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述下载单元进一步包括:
安装下载模块:用于使用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动终端上;
解压模块:用于对所述APP安装包进行解压并将解压后得到的APP存放到一个目录
下;
每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
[0011]在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述打包单元中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。[0012]在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述移动终端通过云安全服务器与APP服务器通讯,所述装置还包括:
沙盒启动请求单元:用于使native沙盒启动并请求所述云安全服务器下载体检程序;分配单元:用于使所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒;
体检单元:用于使所述native沙盒调用所述体检程序对其进行体检;
沙盒文件计算判断单元:用于对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,并在不一致时将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器;
返回单元:用于将所述安全凭证返回给所述native沙盒;
页面文件计算判断单元:用于对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。
[0013]在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。
[0014]实施本发明的跨移动终端的混合APP开发方法及装置,具有以下有益效果:由于在不同的操作系统上用native开发实现方式统一的native沙箱;在native沙箱之上开发APP ;然后把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上;用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用,这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了 html 5页面源代码可以被查看的安全风险,所以其安全性较好。
【专利附图】

【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为【背景技术】中移动设备上的浏览器与Web服务器之间交互的示意图;
图2为本发明跨移动终端的混合APP开发方法及装置一个实施例中开发方法的流程
图;
图3为所述实施例中native沙箱与下载服务器之间交互的示意图;
图4为所述实施例中用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用的具体流程图;
图5为所述实施例中APP安装包在移动终端存储的示意图;
图6为所述实施例中APP数据存储的示意图;图1为所述实施例中移动终端与APP服务器之间通讯的示意图;
图8为所述实施例中对native沙盒和APP进行安全检查的流程图;
图9为所述实施例中对native沙盒和APP进行安全检查的时序图;
图10为所述实施例中装置的结构示意图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]在本发明跨移动终端的混合APP开发方法及装置实施例中,其跨移动终端的混合APP开发方法的流程图如图2所示。图2中,该开发方法包括如下步骤:
步骤SOl在不同的操作系统上用native开发方式实现统一的native沙箱:本步骤中,在不同的操作系统上用native开发方式实现统一的native沙箱,具体就是采用native沙箱与Web APP混合方式,在需要覆盖的操作系统上用native开发方式实现统一的native沙箱。native 沙箱具备 HTML( Hypertext Markup Language,超文本标记语言)/CSS (CrossSite Scripting,跨站脚本攻击)/JavaScript的处理能力,可以执行Web APP。Web APP是指通过使用Web和Web浏览器技术,通过网络完成一个或多个任务的应用程序,需要使用Web浏览器。CSS是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中,这些代码包括HTML代码和客户端脚本。
[0019]步骤S02在native沙箱之上开发APP:本步骤中,在native沙箱之上开发APP,其开发方式和目前的Web APP基本一致。
[0020]步骤S03把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上:本步骤中,开发者把编写好的APP代码进行加密,并通过打包工具打包成APP安装包,并将APP安装包存储到下载服务器上。本实施例中,APP发布后,以zip包形式存储在下载服务器,也就是APP安装包为zip包形式。
[0021]步骤S04用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用:本步骤中,用户在移动终端上安装native沙箱之后,把下载服务器上的APP安装包(即Web APP安装包)下载到移动终端上即可使用。这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了 html 5页面源代码可以被查看的安全风险,所以其APP的安全性较好。同时打包之后也使应用程序变得更小,降低了网络流量。此外,还能够让开发出来的APP在各种移动终端操作系统上都可以使用。
[0022]图3为本实施例中native沙箱与下载服务器之间交互的示意图。在native沙箱之上可以开发多个APP,图3中分别称为APPl、……,APPN0
[0023]对于本实施例而言,上述步骤S04还可进一步细化,其细化后的流程图如图4所示。图4中,上述步骤S04进一步包括:
步骤S41用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上:本步骤中,用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上,也就是说用户首次使用某个APP的时候,要将对应的应用zip包下载到移动终端侧。
[0024]步骤S42对APP安装包进行解压并将解压后得到的APP存放到一个目录下:本步骤中,对APP安装包进行解压并将解压后得到的APP存放到一个目录下,实际存储时,native沙箱把每个APP单独存放到一个目录下。每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,应用页面文件中存储应用的全部代码文件,代码文件包括html页面和js文件。本实施例中,将应用描述文件和应用页面文件分别标记为app.xml和pages, dat,值得一提的是,app.xml有且只有一个,pages, dat有且只有一个,pages, dat是应用发布时由打包工具生成的。资源文件包括图片、音频等。
[0025]值得一提的是,app.xml是一个xml文件,其中包含APP的名称(应用ID)、主页面和版本号。这个文件的规范如下:必须是UTF-8编码。根元素必须是app。
[0026]<?xml version=” 1.0” encoding=”utf_8” ?>
<app>
〈index〉首页文件相对目录,例如:page/index.html</index)
〈name〉应用名称〈/name〉
〈versionCode〉应用版本号,整数。例如:20〈/versionCode >
〈versionName〉应用可见版本号,字符。例如:1.0.0〈/versionName >
</app>
本实施例中,APP程序文件包含两个类型的文件:代码文件和代码文件之外的其它资源文件,代码文件包括html文件和js文件。代码文件之外的其它资源文件,其包括html页面中使用到的图片文件、媒体文件等。APP安装包是由代码文件存储到应用页面文件中,然后将应用页面文件和资源文件进行压缩生成的。也就是说,对于本实施例而言,APP打包的过程为:首先把所有的代码文件存储到pages, dat文件中;然后把pages, dat和其它资源文件压缩生成zip包。
[0027]图5为本实施例中APP安装包在移动终端存储的示意图。
[0028]现有技术中,客户端存储存在安全问题。在以前版本的HTML语言中,仅允许将Cookies作为本地信息进行存储且分配空间相对较小。客户端上往往只存储简单的会话ID等少量信息,当用户需要多次访问相同数据时,需要多次向服务器端发送请求,降低了 Web的访问性能。随着Web应用复杂度和数据量的不断增大,HTML5引进了本地数据库能力,允许浏览器在客户端存储大量数据。这一调整虽然提高了访问性能,却是以牺牲安全为代价的,带来了安全隐患。本地数据库采用明文存储,并且没有任何保护机制,一旦有XSS漏洞,使用本地数据库存储的数据很容易被攻击者获取;同时,攻击者只需通过物理访问或者破坏客户端等简单方法,就能够轻松地获得敏感数据。图6为本实施例中APP数据存储的示意图,在本实施例中,native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入私有数据库的数据是加密的,避免了敏感数据被访问的风险,加密方式采用DES对称加密;native还同时提供了公用数据库区,APP可以在公用数据库区创建数据库,公用数据库区主要用于在不同APP之间交换数据。公用数据库区的数据库,是不加密的。
[0029]现有技术中, 在安全方面,完全依赖于浏览器,Web APP开发者对于安全并没有首先的控制力,这是因为,HTML5页面是由移动设备(移动终端)上的浏览器来解析执行的。如果用户在不知情的情况下使用了一个不安全的浏览器,或者使用了嵌入恶意代码的浏览器,那用户的安全就得不到保障了,而用户却往往会认为这是Web APP开发者的问题。
[0030]另外,很多APP,特别是企业APP,都会有对应的APP服务器。如果APP被篡改了,可能导致APP服务器受到攻击,被非法访问,导致安全问题。本发明通过native沙盒和APP进行安全检查的方式,来防止native沙盒被篡改,嵌入恶意代码,防篡改需要云安全服务器的配合。图7为本实施例中移动终端与APP服务器之间通讯的示意图;图7中,移动终端通过云安全服务器与APP服务器通讯。
[0031]值得一提的是,本实施例中,在上述步骤S04之后,为了对native沙盒和APP进行安全检查,该跨移动终端的混合APP开发方法还需执行一些步骤。在对native沙盒和APP进行安全检查的过程中会涉及到一个体检程序,该体检程序在Android上是个so库文件,在iOS上是个.a静态库。体检程序检查的逻辑,就是对native沙盒的程序文件(对于Android为apk包,对于iOS为执行文件)以及APP的程序文件(pages, dat)的内容进行MD5摘要计算(计算一个文本的消息摘要),然后和合法版本程序文件的MD5值进行比对,如果一致,则说明程序文件没有被篡改。由于仅仅是用来执行一段代码逻辑,体检程序的文件是非常小的。
[0032]如图8所示,在上述步骤S04之后,该跨移动终端的混合APP开发方法还进一步包括如下步骤:
步骤S05 native沙盒启动并请求云安全服务器下载体检程序:本步骤中,native沙盒启动的时候,请求云安全服务器下载体检程序。
[0033]步骤S06云安全服务器分配安全凭证并将其嵌入到体检程序中,同时把体检程序文件返回给native沙盒:本步骤中,云安全服务器分配一个安全凭证,并将其嵌入到体检程序中,同时把体检程序文件返回给native沙盒。
[0034]步骤S07 native沙盒调用体检程序对其进行体检:本步骤中,native沙盒调用体检程序对其进行体检。
[0035]步骤S08对native沙盒的程序文件的内容进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致:本步骤中,本步骤中,对native沙盒的程序文件(Android为apk包,iOS上为执行文件)的内容进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,如果判断的结果为是,则说明native沙盒没有被篡改,是安全的,则执行步骤SlO ;否则,说明native沙盒被篡改过了,不返回安全凭证给native沙盒,执行步骤S09。
[0036]步骤S09将移动终端上的native沙盒检查不通过的结果上报给云安全服务器:如果上述步骤S08的判断结果为否,则执行本步骤。本步骤中,将移动终端上的native沙盒安全检查不通过的结果上报给云安全服务器。本实施例中,上报的是移动终端的MAC地址。
[0037]步骤SlO将安全凭证返回给native沙盒:如果上述步骤S08的判断结果为是,则执行本步骤。本步骤中,将安全凭证返回给native沙盒。执行完本步骤,执行步骤S11。
[0038]步骤Sll对APP的应用页面文件进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致:本步骤中,对APP的应用页面文件进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,具体就是对APP的pages, dat文件进行MD5计算,同时和云安全服务器上保存的MD5结果进行比对,本步骤中,如果判断的结果为是,表明APP没有被篡改过,则执行本步骤S13 ;否则,执行步骤S12。
[0039]步骤S12 APP不能进行使用:如果上述步骤Sll的判断结果为否,则执行本步骤。本步骤中,提示用户APP被篡改了,APP不能进行使用。
[0040]步骤S13 APP进行正常使用:如果上述步骤Sll的判断结果为是,则执行本步骤。本步骤中,APP进行正常使用。
[0041]值得一提的是,虽然可能native沙盒被篡改在之后,调用体检程序的逻辑可能会被破解去掉,但是,移动终端上的APP如果要访问APP服务器,需要通过云安全服务器,如果不体检,是得不到安全凭证的。而没有得到安全凭证的native沙盒,是无法访问云安全服务器的,从而保证了用户使用了被篡改的native沙盒之后,一定不会影响APP服务器。
[0042]图9为本实施例中对native沙盒和APP进行安全检查的时序图。
[0043]本实施例还涉及一种实现上述跨移动终端的混合APP开发方法的装置,其结果示意图如图10所示。图10中,该装置包括沙箱开发单元1、应用开发单元2、打包单元3和下载单元4 ;其中,沙箱开发单元I用于在不同的操作系统上用native开发方式实现统一的native沙箱;native沙箱能执行Web APP ;应用开发单元2用于在native沙箱之上开发APP ;打包单元3用于把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上;下载单元4用于使用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用。这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了 html 5页面源代码可以被查看的安全风险,所以其APP的安全性较好。同时打包之后也使应用程序变得更小,降低了网络流量。此外,还能够让开发出来的APP在各种移动终端操作系统上都可以使用。
[0044]本实施例中,下载单元4进一步包括安装下载模块41和解压模块42 ;其中,安装下载模块41用于使用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上;解压模块42用于对APP安装包进行解压并将解压后得到的APP存放到一个目录下;每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,应用页面文件中存储应用的全部代码文件,代码文件包括html页面和js文件。值得一提的是,本实施例中,上述打包单元3中APP安装包是由代码文件存储到应用页面文件中,然后将应用页面文件和资源文件进行压缩生成的。
[0045]本实施例中,native为每个APP分配单独的私有数据库,只有对应的APP进行访问,也就是只有该APP才能进行访问,写入私有数据库的数据是加密的,避免了敏感数据被访问的风险,使APP更加安全,加密方式采用DES对称加密;native还同时提供了公用数据库区,APP可以在公用数据库区创建数据库,公用数据库区主要用于在不同APP之间交换数据。公用数据库区的数据库,是不加密的。
[0046]本实施例中,移动终端通过云安全服务器与APP服务器通讯,为了防止native沙盒被篡改而嵌入恶意代码,通过native沙盒和APP进行安全检查的方式。为了对native沙盒和APP进行安全检查,本实施例中,所述装置还包括沙盒启动请求单元5、分配单元6、体检单元7、沙盒文件计算判断单元8、返回单元9和页面文件计算判断单元10 ;其中,沙盒启动请求单元5用于使native沙盒启动并请求云安全服务器下载体检程序;分配单元6用于使云安全服务器分配安全凭证并将其嵌入到体检程序中,同时把体检程序文件返回给native沙盒;体检单元7用于使native沙盒调用体检程序对其进行体检;沙盒文件计算判断单元8用于对native沙盒的程序文件的内容进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,并在不一致时将移动终端上的native沙盒检查不通过的结果上报给云安全服务器;返回单元9用于将安全凭证返回给native沙盒;页面文件计算判断单元10用于对APP的应用页面文件进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。没有得到安全凭证的native沙盒,是无法访问云安全服务器的,从而保证了用户使用了被篡改的native沙盒之后,一定不会影响APP服务器。
[0047]总之,在本实施例中,和现有的html 5 web app—样,本发明具备跨平台的特性,能够支持多种常见移动终端操作系统。APP发布后,以zip包形式存储在下载服务器,用户首次使用某个APP的时候,应用zip包被下载到移动终端侧,并解压后存放,这样用户使用起来感觉速度较快。在进行打包时,对应用程序的代码文件和资源文件进行加密打包,保证了安全性。应用数据在存储时,对于APP私有数据库进行了加密保护,避免了敏感数据被访问的风险;同时提供了公用数据库区,让不同APP可以进行数据交换。通过云安全服务器以及体检程序,使得被篡改的native沙盒和APP不能使用,不能访问APP服务器。
[0048]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种跨移动终端的混合APP开发方法,其特征在于,包括如下步骤: A)在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP ; B)在所述native沙箱之上开发APP; C)把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上; D)用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
2.根据权利要求1所述的跨移动终端的混合APP开发方法,其特征在于,所述步骤D)进一步包括: Dl)用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动终端上; D2)对所述APP安装包进行解压并将解压后得到的APP存放到一个目录下; 每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
3.根据权利要求2所述的跨移动终端的混合APP开发方法,其特征在于,所述步骤C)中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。
4.根据权利要求 2所述的跨移动终端的混合APP开发方法,其特征在于,所述移动终端通过云安全服务器与APP服务器通讯,在所述步骤D)之后还包括: E)native沙盒启动并请求所述云安全服务器下载体检程序; F)所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒; G)所述native沙盒调用所述体检程序对其进行体检; H)对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,执行步骤I);否则,将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器; I)将所述安全凭证返回给所述native沙盒; J)对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。
5.根据权利要求1至4任意一项所述的跨移动终端的混合APP开发方法,其特征在于,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。
6.一种实现如权利要求1所述的跨移动终端的混合APP开发方法的装置,其特征在于,包括: 沙箱开发单元:用于在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP ; 应用开发单元:用于在所述native沙箱之上开发APP ;打包单元:用于把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上; 下载单元:用于使用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
7.根据权利要求6所述的实现上述跨移动终端的混合APP开发方法的装置,其特征在于,所述下载单元进一步包括: 安装下载模块:用于使用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动终端上; 解压模块:用于对所述APP安装包进行解压并将解压后得到的APP存放到一个目录下; 每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
8.根据权利要求7所述的实现上述跨移动终端的混合APP开发方法的装置,其特征在于,所述打包单元中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。
9.根据权利要求7所述的实现上述跨移动终端的混合APP开发方法的装置,其特征在于,所述移动终端通 过云安全服务器与APP服务器通讯,所述装置还包括: 沙盒启动请求单元:用于使native沙盒启动并请求所述云安全服务器下载体检程序; 分配单元:用于使所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒; 体检单元:用于使所述native沙盒调用所述体检程序对其进行体检; 沙盒文件计算判断单元:用于对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,并在不一致时将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器; 返回单元:用于将所述安全凭证返回给所述native沙盒; 页面文件计算判断单元:用于对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。
10.根据权利要求6至9任意一项所述的实现上述跨移动终端的混合APP开发方法的装置,其特征在于,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。
【文档编号】G06F9/445GK103744652SQ201310705843
【公开日】2014年4月23日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】施东荣, 陈文浩, 张岩, 林建平, 廖炳才, 王付国 申请人:深圳市迈桥科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1