CN103744652A - 一种跨移动终端的混合app开发方法及装置 - Google Patents

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

Info

Publication number
CN103744652A
CN103744652A CN201310705843.7A CN201310705843A CN103744652A CN 103744652 A CN103744652 A CN 103744652A CN 201310705843 A CN201310705843 A CN 201310705843A CN 103744652 A CN103744652 A CN 103744652A
Authority
CN
China
Prior art keywords
app
mobile terminal
native
sandbox
application
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
Application number
CN201310705843.7A
Other languages
English (en)
Other versions
CN103744652B (zh
Inventor
施东荣
陈文浩
张岩
林建平
廖炳才
王付国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Landray Software Co., Ltd.
Original Assignee
SHENZHEN MIBRIDGE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN MIBRIDGE TECHNOLOGY Co Ltd filed Critical SHENZHEN MIBRIDGE TECHNOLOGY Co Ltd
Priority to CN201310705843.7A priority Critical patent/CN103744652B/zh
Publication of CN103744652A publication Critical patent/CN103744652A/zh
Application granted granted Critical
Publication of CN103744652B publication Critical patent/CN103744652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出了一种跨移动终端的混合APP开发方法,包括如下步骤:在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP;在所述native沙箱之上开发APP;把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。本发明还涉及一种实现上述跨移动终端的混合APP开发方法的装置。实施本发明的跨移动终端的混合APP开发方法及装置,具有以下有益效果:速度较快、安全性较好。

Description

一种跨移动终端的混合APP开发方法及装置
技术领域
本发明涉及应用开发领域,特别涉及一种跨移动终端的混合APP开发方法及装置。 
背景技术
目前主流的智能移动设备操作系统包括Android、iOS、Windows Phone等等,每个操作系统提供的Native Language(智能终端操作系统提供的开发语言,例如Android是java,iOS是Object C)都不一样,如果采用Native开发的方式,就必须为每个操作系统分别编写对应的APP(Application,应用)。如果想开发跨平台APP(即在多种智能移动设备操作系统上都可以运行的APP),目前一般采用HTML5来编写Web APP。Web APP部署在Web服务器上,无需安装到移动设备上;用户通过移动设备上的浏览器来访问Web服务器,即可使用Web APP。图1为移动设备上的浏览器与Web服务器之间交互的示意图。虽然HTML5 被目前很多APP开发者或者公司采用,其同时也曝露出来它的很多技术问题,如:Web APP的HTML5页面和资源文件(例如页面中用到的图片等)是部署在Web服务器端的,用户每次使用Web APP的时候,页面和资源文件每次都需要下载到移动设备上。在移动设备网络信号不是很好的情况下速度会比较差,用户会感觉到使用起来速度慢。此外,输出到移动设备的HTML5页面的源代码,是可以被查看到的(很多浏览器都提供了查看页面源代码的功能)。写在源代码中的程序逻辑存在被恶意份子知道的风险,所以其安全性较差。 
发明内容
本发明要解决的技术问题在于,针对现有技术的上述速度较慢、安全性较差的缺陷,提供一种速度较快、安全性较好的跨移动终端的混合APP开发方法及装置。 
本发明解决其技术问题所采用的技术方案是:构造一种跨移动终端的混合APP开发方法,包括如下步骤: 
A)在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP;
B)在所述native沙箱之上开发APP; 
C)把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;
D)用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
在本发明所述的跨移动终端的混合APP开发方法中,所述步骤D)进一步包括: 
D1)用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动终端上;
D2)对所述APP安装包进行解压并将解压后得到的APP存放到一个目录下;
每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
在本发明所述的跨移动终端的混合APP开发方法中,所述步骤C)中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。 
在本发明所述的跨移动终端的混合APP开发方法中,所述移动终端通过云安全服务器与APP服务器通讯,在所述步骤D)之后还包括: 
E)native沙盒启动并请求所述云安全服务器下载体检程序; 
F)所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒; 
G)所述native沙盒调用所述体检程序对其进行体检; 
H)对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,执行步骤I);否则,将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器; 
I)将所述安全凭证返回给所述native沙盒; 
J)对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。 
在本发明所述的跨移动终端的混合APP开发方法中,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。 
本发明还涉及一种实现上述跨移动终端的混合APP开发方法的装置,包括: 
沙箱开发单元:用于在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP;
应用开发单元:用于在所述native沙箱之上开发APP; 
打包单元:用于把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;
下载单元:用于使用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述下载单元进一步包括: 
安装下载模块:用于使用户在移动终端上安装所述native沙箱后,将对应的APP安装包下载到所述移动终端上;
解压模块:用于对所述APP安装包进行解压并将解压后得到的APP存放到一个目录下;
每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,所述应用页面文件中存储应用的全部代码文件,所述代码文件包括html页面和js文件。
在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述打包单元中APP安装包是由所述代码文件存储到所述应用页面文件中,然后将所述应用页面文件和资源文件进行压缩生成的。 
在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述移动终端通过云安全服务器与APP服务器通讯,所述装置还包括: 
沙盒启动请求单元:用于使native沙盒启动并请求所述云安全服务器下载体检程序;
分配单元:用于使所述云安全服务器分配安全凭证并将其嵌入到所述体检程序中,同时把体检程序文件返回给所述native沙盒;
体检单元:用于使所述native沙盒调用所述体检程序对其进行体检;
沙盒文件计算判断单元:用于对所述native沙盒的程序文件的内容进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,并在不一致时将所述移动终端上的native沙盒检查不通过的结果上报给所述云安全服务器;
返回单元:用于将所述安全凭证返回给所述native沙盒;
页面文件计算判断单元:用于对APP的应用页面文件进行MD5计算,并判断计算结果与所述云安全服务器上保存的MD5结果是否一致,如是,APP进行正常使用;否则,APP不能进行使用。
    在本发明所述的实现上述跨移动终端的混合APP开发方法的装置中,所述native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入所述私有数据库的数据是经过DES对称加密的,所述native还提供用于在不同APP之间交换数据的公用数据库区,所述APP在公用数据库区创建数据库。 
 实施本发明的跨移动终端的混合APP开发方法及装置,具有以下有益效果: 由于在不同的操作系统上用native开发实现方式统一的native沙箱;在native沙箱之上开发APP;然后把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上;用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用,这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了html 5页面源代码可以被查看的安全风险,所以其安全性较好。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1为背景技术中移动设备上的浏览器与Web服务器之间交互的示意图; 
图2为本发明跨移动终端的混合APP开发方法及装置一个实施例中开发方法的流程图;
图3为所述实施例中native沙箱与下载服务器之间交互的示意图;
图4为所述实施例中用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用的具体流程图;
图5为所述实施例中APP安装包在移动终端存储的示意图;
图6为所述实施例中APP数据存储的示意图;
图7为所述实施例中移动终端与APP服务器之间通讯的示意图;
图8为所述实施例中对native沙盒和APP进行安全检查的流程图;
图9为所述实施例中对native沙盒和APP进行安全检查的时序图;
图10为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 
在本发明跨移动终端的混合APP开发方法及装置实施例中,其跨移动终端的混合APP开发方法的流程图如图2所示。图2中,该开发方法包括如下步骤: 
  步骤S01 在不同的操作系统上用native开发方式实现统一的native沙箱:本步骤中,在不同的操作系统上用native开发方式实现统一的native沙箱,具体就是采用native沙箱与Web APP混合方式,在需要覆盖的操作系统上用native开发方式实现统一的native沙箱。native沙箱具备HTML( Hypertext Markup Language,超文本标记语言)/CSS(Cross Site Scripting,跨站脚本攻击)/JavaScript的处理能力,可以执行Web APP。Web APP是指通过使用Web和Web浏览器技术,通过网络完成一个或多个任务的应用程序,需要使用Web浏览器。CSS是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其它用户使用的页面中,这些代码包括HTML代码和客户端脚本。
步骤S02 在native沙箱之上开发APP:本步骤中,在native沙箱之上开发APP,其开发方式和目前的Web APP基本一致。 
步骤S03 把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上:本步骤中,开发者把编写好的APP代码进行加密,并通过打包工具打包成APP安装包,并将APP安装包存储到下载服务器上。本实施例中,APP发布后,以zip包形式存储在下载服务器,也就是APP安装包为zip包形式。 
步骤S04用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用:本步骤中,用户在移动终端上安装native沙箱之后,把下载服务器上的APP安装包(即Web APP安装包)下载到移动终端上即可使用。这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了html 5页面源代码可以被查看的安全风险,所以其APP的安全性较好。同时打包之后也使应用程序变得更小,降低了网络流量。此外,还能够让开发出来的APP在各种移动终端操作系统上都可以使用。 
图3为本实施例中native沙箱与下载服务器之间交互的示意图。在native沙箱之上可以开发多个APP,图3中分别称为APP1、……、APPN。 
对于本实施例而言,上述步骤S04还可进一步细化,其细化后的流程图如图4所示。图4中,上述步骤S04进一步包括: 
步骤S41用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上:本步骤中,用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上,也就是说用户首次使用某个APP的时候,要将对应的应用zip包下载到移动终端侧。
步骤S42对APP安装包进行解压并将解压后得到的APP存放到一个目录下:本步骤中,对APP安装包进行解压并将解压后得到的APP存放到一个目录下,实际存储时,native沙箱把每个APP单独存放到一个目录下。每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,应用页面文件中存储应用的全部代码文件,代码文件包括html页面和js文件。本实施例中,将应用描述文件和应用页面文件分别标记为app.xml和pages.dat,值得一提的是,app.xml有且只有一个,pages.dat有且只有一个,pages.dat是应用发布时由打包工具生成的。资源文件包括图片、音频等。 
值得一提的是,app.xml是一个xml文件,其中包含APP的名称(应用ID)、主页面和版本号。 这个文件的规范如下:必须是UTF-8编码。根元素必须是app。 
<?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包。
图5为本实施例中APP安装包在移动终端存储的示意图。 
现有技术中,客户端存储存在安全问题。在以前版本的HTML语言中,仅允许将Cookies作为本地信息进行存储且分配空间相对较小。客户端上往往只存储简单的会话ID 等少量信息,当用户需要多次访问相同数据时,需要多次向服务器端发送请求,降低了Web的访问性能。随着Web应用复杂度和数据量的不断增大,HTML5引进了本地数据库能力,允许浏览器在客户端存储大量数据。这一调整虽然提高了访问性能,却是以牺牲安全为代价的,带来了安全隐患。本地数据库采用明文存储,并且没有任何保护机制,一旦有XSS漏洞,使用本地数据库存储的数据很容易被攻击者获取;同时,攻击者只需通过物理访问或者破坏客户端等简单方法,就能够轻松地获得敏感数据。图6为本实施例中APP数据存储的示意图,在本实施例中,native为每个APP分配单独的私有数据库,只有对应的APP进行访问,写入私有数据库的数据是加密的,避免了敏感数据被访问的风险,加密方式采用DES对称加密;native还同时提供了公用数据库区,APP可以在公用数据库区创建数据库,公用数据库区主要用于在不同APP之间交换数据。公用数据库区的数据库,是不加密的。 
现有技术中,在安全方面,完全依赖于浏览器,Web APP开发者对于安全并没有首先的控制力,这是因为,HTML5页面是由移动设备(移动终端)上的浏览器来解析执行的。如果用户在不知情的情况下使用了一个不安全的浏览器,或者使用了嵌入恶意代码的浏览器,那用户的安全就得不到保障了,而用户却往往会认为这是Web APP开发者的问题。 
另外,很多APP,特别是企业APP,都会有对应的APP服务器。如果APP被篡改了,可能导致APP服务器受到攻击,被非法访问,导致安全问题。本发明通过native沙盒和APP进行安全检查的方式,来防止native沙盒被篡改,嵌入恶意代码,防篡改需要云安全服务器的配合。图7为本实施例中移动终端与APP服务器之间通讯的示意图;图7中,移动终端通过云安全服务器与APP服务器通讯。 
值得一提的是,本实施例中,在上述步骤S04之后,为了对native沙盒和APP进行安全检查,该跨移动终端的混合APP开发方法还需执行一些步骤。在对native沙盒和APP进行安全检查的过程中会涉及到一个体检程序,该体检程序在Android上是个so库文件,在iOS上是个.a静态库。体检程序检查的逻辑,就是对native沙盒的程序文件(对于Android为apk包,对于iOS为执行文件)以及APP的程序文件(pages.dat)的内容进行MD5摘要计算(计算一个文本的消息摘要),然后和合法版本程序文件的MD5值进行比对,如果一致,则说明程序文件没有被篡改。由于仅仅是用来执行一段代码逻辑,体检程序的文件是非常小的。 
如图8所示,在上述步骤S04之后,该跨移动终端的混合APP开发方法还进一步包括如下步骤: 
步骤S05 native沙盒启动并请求云安全服务器下载体检程序:本步骤中,native沙盒启动的时候,请求云安全服务器下载体检程序。
步骤S06云安全服务器分配安全凭证并将其嵌入到体检程序中,同时把体检程序文件返回给native沙盒:本步骤中,云安全服务器分配一个安全凭证,并将其嵌入到体检程序中,同时把体检程序文件返回给native沙盒。 
步骤S07 native沙盒调用体检程序对其进行体检:本步骤中,native沙盒调用体检程序对其进行体检。 
步骤S08对native沙盒的程序文件的内容进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致:本步骤中,本步骤中,对native沙盒的程序文件(Android为apk包,iOS上为执行文件)的内容进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,如果判断的结果为是,则说明native沙盒没有被篡改,是安全的,则执行步骤S10;否则,说明native沙盒被篡改过了,不返回安全凭证给native沙盒,执行步骤S09。 
步骤S09将移动终端上的native沙盒检查不通过的结果上报给云安全服务器:如果上述步骤S08的判断结果为否,则执行本步骤。本步骤中,将移动终端上的native沙盒安全检查不通过的结果上报给云安全服务器。本实施例中,上报的是移动终端的MAC地址。 
步骤S10将安全凭证返回给native沙盒:如果上述步骤S08的判断结果为是,则执行本步骤。本步骤中,将安全凭证返回给native沙盒。执行完本步骤,执行步骤S11。 
步骤S11对APP的应用页面文件进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致:本步骤中,对APP的应用页面文件进行MD5计算,并判断计算结果与云安全服务器上保存的MD5结果是否一致,具体就是对APP的pages.dat文件进行MD5计算,同时和云安全服务器上保存的MD5结果进行比对,本步骤中,如果判断的结果为是,表明APP没有被篡改过,则执行本步骤S13;否则,执行步骤S12。 
步骤S12 APP不能进行使用:如果上述步骤S11的判断结果为否,则执行本步骤。本步骤中,提示用户APP被篡改了,APP不能进行使用。 
步骤S13  APP进行正常使用:如果上述步骤S11的判断结果为是,则执行本步骤。本步骤中,APP进行正常使用。 
值得一提的是,虽然可能native沙盒被篡改在之后,调用体检程序的逻辑可能会被破解去掉,但是,移动终端上的APP如果要访问APP服务器,需要通过云安全服务器,如果不体检,是得不到安全凭证的。而没有得到安全凭证的native沙盒,是无法访问云安全服务器的,从而保证了用户使用了被篡改的native沙盒之后,一定不会影响APP服务器。 
图9为本实施例中对native沙盒和APP进行安全检查的时序图。 
本实施例还涉及一种实现上述跨移动终端的混合APP开发方法的装置,其结果示意图如图10所示。图10中,该装置包括沙箱开发单元1、应用开发单元2、打包单元3和下载单元4;其中,沙箱开发单元1用于在不同的操作系统上用native开发方式实现统一的native沙箱;native沙箱能执行Web APP;应用开发单元2用于在native沙箱之上开发APP; 打包单元3用于把编写好的APP代码进行加密打包成APP安装包,并将APP安装包存储到下载服务器上;下载单元4用于使用户在移动终端上安装native沙箱后,把下载服务器中的APP安装包下载到移动终端上进行使用。这样APP只需要在首次使用的时候下载一次,后续使用无需再下载对APP程序,所以不需要担心移动设备网络信号的好坏,用户使用起来其速度较快,同时对编写好的APP代码采用加密、打包方式,规避了html 5页面源代码可以被查看的安全风险,所以其APP的安全性较好。同时打包之后也使应用程序变得更小,降低了网络流量。此外,还能够让开发出来的APP在各种移动终端操作系统上都可以使用。 
本实施例中,下载单元4进一步包括安装下载模块41和解压模块42;其中,安装下载模块41用于使用户在移动终端上安装native沙箱后,将对应的APP安装包下载到移动终端上;解压模块42用于对APP安装包进行解压并将解压后得到的APP存放到一个目录下;每个APP的应用目下包括应用描述文件、应用页面文件、CSS样式文件和资源文件,应用页面文件中存储应用的全部代码文件,代码文件包括html页面和js文件。值得一提的是,本实施例中,上述打包单元3中APP安装包是由代码文件存储到应用页面文件中,然后将应用页面文件和资源文件进行压缩生成的。 
本实施例中,native为每个APP分配单独的私有数据库,只有对应的APP进行访问,也就是只有该APP才能进行访问,写入私有数据库的数据是加密的,避免了敏感数据被访问的风险,使APP更加安全,加密方式采用DES对称加密;native还同时提供了公用数据库区,APP可以在公用数据库区创建数据库,公用数据库区主要用于在不同APP之间交换数据。公用数据库区的数据库,是不加密的。 
本实施例中,移动终端通过云安全服务器与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服务器。 
总之,在本实施例中,和现有的html 5 web app一样,本发明具备跨平台的特性,能够支持多种常见移动终端操作系统。APP发布后,以zip包形式存储在下载服务器,用户首次使用某个APP的时候,应用zip包被下载到移动终端侧,并解压后存放,这样用户使用起来感觉速度较快。在进行打包时,对应用程序的代码文件和资源文件进行加密打包,保证了安全性。应用数据在存储时,对于APP私有数据库进行了加密保护,避免了敏感数据被访问的风险;同时提供了公用数据库区,让不同APP可以进行数据交换。通过云安全服务器以及体检程序,使得被篡改的native沙盒和APP不能使用,不能访问APP服务器。 
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (10)

1.一种跨移动终端的混合APP开发方法,其特征在于,包括如下步骤:
A)在不同的操作系统上用native开发方式实现统一的native沙箱;所述native沙箱能执行Web APP;
B)在所述native沙箱之上开发APP; 
C)把编写好的APP代码进行加密打包成APP安装包,并将所述APP安装包存储到下载服务器上;
D)用户在移动终端上安装所述native沙箱后,把所述下载服务器中的APP安装包下载到所述移动终端上进行使用。
2.根据权利要求1所述的跨移动终端的混合APP开发方法,其特征在于,所述步骤D)进一步包括:
D1)用户在移动终端上安装所述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在公用数据库区创建数据库。
CN201310705843.7A 2013-12-19 2013-12-19 一种跨移动终端的混合app开发方法及装置 Active CN103744652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310705843.7A CN103744652B (zh) 2013-12-19 2013-12-19 一种跨移动终端的混合app开发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310705843.7A CN103744652B (zh) 2013-12-19 2013-12-19 一种跨移动终端的混合app开发方法及装置

Publications (2)

Publication Number Publication Date
CN103744652A true CN103744652A (zh) 2014-04-23
CN103744652B CN103744652B (zh) 2017-02-08

Family

ID=50501672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310705843.7A Active CN103744652B (zh) 2013-12-19 2013-12-19 一种跨移动终端的混合app开发方法及装置

Country Status (1)

Country Link
CN (1) CN103744652B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750548A (zh) * 2015-04-01 2015-07-01 贵州电网公司信息通信分公司 基于混合模式跨平台应用的异步请求方法
CN105045567A (zh) * 2015-04-01 2015-11-11 贵州电网公司信息通信分公司 基于混合模式跨平台移动应用的开发方法
CN105554091A (zh) * 2015-12-11 2016-05-04 电子科技大学 一种移动终端中web应用来源安全的保障方法
CN105590051A (zh) * 2015-11-18 2016-05-18 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN105893508A (zh) * 2016-03-30 2016-08-24 北京京东尚科信息技术有限公司 确定原生页面和h5 页面访问次序的方法、装置和系统
CN106156229A (zh) * 2015-04-27 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种多操作系统终端中文件的处理方法、装置及终端
CN106354881A (zh) * 2016-09-28 2017-01-25 四川长虹电器股份有限公司 基于移动终端跨平台的图片浏览器及其实现方法
CN106708498A (zh) * 2015-11-18 2017-05-24 中兴通讯股份有限公司 一种实现多模式应用页面的终端、方法及系统
CN106959843A (zh) * 2016-01-11 2017-07-18 陈昕 一种跨平台巢引擎系统及其开发方法
CN107357554A (zh) * 2016-05-10 2017-11-17 北京慧点科技有限公司 基于混合模式移动应用开发的方法和装置
CN107679061A (zh) * 2017-07-26 2018-02-09 上海壹账通金融科技有限公司 混合app的页面导航方法、装置、终端和存储介质
CN107895120A (zh) * 2017-11-06 2018-04-10 聚好看科技股份有限公司 跨平台应用中数据处理方法、装置、电子设备和存储介质
CN108008971A (zh) * 2017-12-04 2018-05-08 科大国创软件股份有限公司 一种基于html5的离线压缩包下载实现移动app模块升级的方法
CN108804939A (zh) * 2018-05-04 2018-11-13 广州四九游网络科技有限公司 一种webview引擎的数据处理方法
CN109189411A (zh) * 2018-08-23 2019-01-11 爱尚游(北京)科技股份有限公司 一种云应用安装方法
CN109413189A (zh) * 2018-11-05 2019-03-01 张维加 一种基于底层转译的电子交易系统
CN109492401A (zh) * 2018-09-30 2019-03-19 阿里巴巴集团控股有限公司 一种内容载体风险检测方法、装置、设备及介质
US10607002B2 (en) 2016-08-30 2020-03-31 Microsoft Technology Licensing, Llc Isolating an application running inside a native container application

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440143A (zh) * 2013-08-02 2013-12-11 安徽科大讯飞信息科技股份有限公司 移动web应用升级系统及方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN105607895B (zh) * 2014-11-21 2021-03-02 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN104750548A (zh) * 2015-04-01 2015-07-01 贵州电网公司信息通信分公司 基于混合模式跨平台应用的异步请求方法
CN105045567A (zh) * 2015-04-01 2015-11-11 贵州电网公司信息通信分公司 基于混合模式跨平台移动应用的开发方法
CN104750548B (zh) * 2015-04-01 2018-09-28 贵州电网有限责任公司信息中心 基于混合模式跨平台应用的异步请求方法
CN106156229A (zh) * 2015-04-27 2016-11-23 宇龙计算机通信科技(深圳)有限公司 一种多操作系统终端中文件的处理方法、装置及终端
CN105590051B (zh) * 2015-11-18 2018-10-23 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN106708498A (zh) * 2015-11-18 2017-05-24 中兴通讯股份有限公司 一种实现多模式应用页面的终端、方法及系统
CN105590051A (zh) * 2015-11-18 2016-05-18 中国银联股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN105554091A (zh) * 2015-12-11 2016-05-04 电子科技大学 一种移动终端中web应用来源安全的保障方法
CN106959843A (zh) * 2016-01-11 2017-07-18 陈昕 一种跨平台巢引擎系统及其开发方法
CN105893508B (zh) * 2016-03-30 2019-08-30 北京京东尚科信息技术有限公司 确定原生页面和h5页面访问次序的方法、装置和系统
CN105893508A (zh) * 2016-03-30 2016-08-24 北京京东尚科信息技术有限公司 确定原生页面和h5 页面访问次序的方法、装置和系统
CN107357554A (zh) * 2016-05-10 2017-11-17 北京慧点科技有限公司 基于混合模式移动应用开发的方法和装置
US10607002B2 (en) 2016-08-30 2020-03-31 Microsoft Technology Licensing, Llc Isolating an application running inside a native container application
CN106354881A (zh) * 2016-09-28 2017-01-25 四川长虹电器股份有限公司 基于移动终端跨平台的图片浏览器及其实现方法
CN107679061A (zh) * 2017-07-26 2018-02-09 上海壹账通金融科技有限公司 混合app的页面导航方法、装置、终端和存储介质
CN107679061B (zh) * 2017-07-26 2019-12-24 深圳壹账通智能科技有限公司 混合app的页面导航方法、装置、终端和存储介质
CN107895120A (zh) * 2017-11-06 2018-04-10 聚好看科技股份有限公司 跨平台应用中数据处理方法、装置、电子设备和存储介质
CN108008971A (zh) * 2017-12-04 2018-05-08 科大国创软件股份有限公司 一种基于html5的离线压缩包下载实现移动app模块升级的方法
CN108804939A (zh) * 2018-05-04 2018-11-13 广州四九游网络科技有限公司 一种webview引擎的数据处理方法
CN109189411A (zh) * 2018-08-23 2019-01-11 爱尚游(北京)科技股份有限公司 一种云应用安装方法
CN109189411B (zh) * 2018-08-23 2022-02-01 爱尚游(北京)科技股份有限公司 一种云应用安装方法
CN109492401A (zh) * 2018-09-30 2019-03-19 阿里巴巴集团控股有限公司 一种内容载体风险检测方法、装置、设备及介质
CN109492401B (zh) * 2018-09-30 2022-04-08 创新先进技术有限公司 一种内容载体风险检测方法、装置、设备及介质
CN109413189A (zh) * 2018-11-05 2019-03-01 张维加 一种基于底层转译的电子交易系统

Also Published As

Publication number Publication date
CN103744652B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103744652A (zh) 一种跨移动终端的混合app开发方法及装置
US20210271472A1 (en) Application Wrapping for Application Management Framework
US11153284B2 (en) Systems and methods for transparent SaaS data encryption and tokenization
US9444787B2 (en) Non-intrusive method and apparatus for automatically dispatching security rules in cloud environment
WO2016173199A1 (zh) 一种移动应用单点登录方法及装置
CN105843653A (zh) 一种安全应用配置方法及装置
US10171502B2 (en) Managed applications
US10936470B2 (en) Systems and methods for performance bug and grievance reports for SaaS applications
US20220197970A1 (en) Systems and methods for improved remote display protocol for html applications
CN111083093B (zh) 调用端能力的方法、装置、电子设备及存储介质
WO2016040753A1 (en) A cloud suffix proxy and methods thereof
CN113568643A (zh) 一种资源获取方法、装置、电子设备及计算机可读介质
US10223526B2 (en) Generating packages for managed applications
EP3298534B1 (en) Creating multiple workspaces in a device
CN112379965B (zh) 沙盒文件映射系统、客户端装置、映射端装置、沙盒文件映射方法以及电子设备
CN112788084B (zh) 应用程序安装包下载方法、推送方法、装置和计算机设备
CN107239475B (zh) 一种调用文件方法及装置
CN112650954A (zh) 区块链数据分享方法、装置、设备及存储介质
JP6998497B1 (ja) ライブsaasオブジェクトのためのシステムおよび方法
CN108958771B (zh) 应用程序的更新方法、装置、服务器及存储介质
CN115190064B (zh) 客户端动态路由的实现方法、装置、系统和存储介质
CN113722639A (zh) 网站访问验证方法、装置、电子设备和可读存储介质
CN109525628B (zh) Http请求调试方法、装置和系统
CN115700474A (zh) 资源加载方法、装置、电子设备和计算机可读存储介质
CN114357529A (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
ASS Succession or assignment of patent right

Owner name: SHENZHEN IS BLUE TO INSULT THE SOFTWARE LIMITED CO

Free format text: FORMER OWNER: SHENZHEN MAIQIAO TECHNOLOGY CO., LTD.

Effective date: 20150409

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518067 SHENZHEN, GUANGDONG PROVINCE TO: 518000 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20150409

Address after: 518000 Guangdong city of Shenzhen province Nanshan District sparrow Ridge Road 7 China Metallurgical Science and Technology Building 5 floor A District

Applicant after: Shenzhen Landray Software Co., Ltd.

Address before: Nanshan District Software Park Tower No. 10128 Nanshan District Shennan Road Shenzhen City, Guangdong province 518067 2901, 2902, 2910

Applicant before: SHENZHEN MIBRIDGE TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant