CN105912353B - 应用程序封装方法及装置 - Google Patents

应用程序封装方法及装置 Download PDF

Info

Publication number
CN105912353B
CN105912353B CN201510982497.6A CN201510982497A CN105912353B CN 105912353 B CN105912353 B CN 105912353B CN 201510982497 A CN201510982497 A CN 201510982497A CN 105912353 B CN105912353 B CN 105912353B
Authority
CN
China
Prior art keywords
installation package
service
application program
preset
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.)
Active
Application number
CN201510982497.6A
Other languages
English (en)
Other versions
CN105912353A (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.)
3600 Technology Group Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510982497.6A priority Critical patent/CN105912353B/zh
Publication of CN105912353A publication Critical patent/CN105912353A/zh
Application granted granted Critical
Publication of CN105912353B publication Critical patent/CN105912353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本申请公开了一种应用程序封装方法及装置,所述方法包括:获取应用程序的安装包;将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改;将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。本申请实施例通过对应用程序安装包进行修改,使得应用程序可以提供特定的服务功能,满足了企业办公的个性化需求。

Description

应用程序封装方法及装置
技术领域
本申请属于电子技术领域,具体地说,涉及一种应用程序封装方法及装置。
背景技术
随着移动终端的成熟以及普及,以手机、平板电脑等为代表的移动终端既可以个人使用,也可以用于企业办公,因此使得同一移动终端中既会存在个人数据,也会存在工作数据。
由于工作数据的私密性要求更高,为了对移动终端中的工作数据进行安全防护,以保证工作数据的安全,目前的一种解决方式是可以通过企业管理系统对移动终端进行工作数据的保护,企业管理系统包括部署在移动终端中的控制客户端以及控制客户端对应的服务端,通过在移动终端中安装一种控制客户端,控制客户端即可以将移动终端划分出工作区,在控制客户端中,可以安装应用程序、打电话、发消息、收发邮件等,满足企业办公需求,且企业办公产生的工作数据均被隔离在工作区中,提高了工作数据安全性。
由上述描述可知,在控制客户端中,可以安装应用程序,以方便企业办公。但是为了满足安全性以及个性化,在进行企业办公时,对应用程序常常存在不同的需求,但是目前的应用程序都是已经编译好的,因此无法满足企业办公的个性化需求。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种应用封装方法及装置,通过对应用程序的安装包进行修改,满足了企业办公的个性化需求。
为了解决上述技术问题,本申请公开了一种应用程序封装方法,包括:
获取应用程序的安装包;
将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改;
将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
优选地,将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改包括:
检测用户当前触发的服务请求;
查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型对应的预设封装规则;
将所述安装包进行解包,并按照所述预设封装规则,将所述安装包进行修改。
优选地,所述检测用户触发的服务请求之前,所述方法还包括:
输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测用户当前触发的服务请求包括:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
优选地,所述将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改包括:
将所述安装包进行解包,并按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码;所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
优选地,所述获取应用程序的安装包包括:
获取控制客户端从预设下载地址下载的应用程序的安装包。
一种应用程序封装装置,包括:
安装包获取模块,用于获取应用程序的安装包;
安装包修改模块,用于将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改;
安装包封装模块,用于将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
优选地,所述安装包修改模块包括:
检测单元,用于检测用户当前触发的服务请求;
查找单元,用于查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型求对应的预设封装规则;
修改单元,用于将所述安装包进行解包,并按照所述预设封装规则,将所述安装包进行修改。
优选地,还包括:
输出模块,用于输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测单元具体用于:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
优选地,所述安装包修改模块具体用于:
将所述安装包进行解包,并按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码;所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
优选地,所述安装包获取模块具体用于:
获取控制客户端从预设下载地址请求下载的应用程序的安装包。
与现有技术相比,本申请可以获得包括以下技术效果:
将应用程序的安装包进行解包,并按照预设封装规则,将所述安装包进行修改;再将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装,该预设封装规则可以根据实际需求的服务功能进行设置,使得移动终端安装所述应用程序之后,可以提供预设封装规则对应的服务功能,从而通过对应用程序的安装包进行修改,可以使得应用程序能够实现特定的服务功能,从而可以满足企业办公的个性化需求。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种应用程序封装方法一个实施例的流程图;
图2是本申请实施例的一种应用程序封装方法又一个实施例的流程图;
图3是本申请实施例的一种应用程序封装方法又一个实施例的流程图;
图4是本申请实施例的一种应用程序封装装置一个实施例的结构示意图;
图5是本申请实施例的一种应用程序封装装置又一个实施例的结构示意图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本发明主要应用在移动终端的企业管理系统中,移动终端的企业管理系统是面向企业的移动终端企业管理平台,包括服务端和安装在需要被管理的移动终端上的客户端,服务端可以部署在企业内网的。
本发明实施例中,服务端称为服务器,安装在需要被管理的移动终端上的客户端称为控制客户端。
控制客户端可以在移动终端中建立一个安全的工作区,使得移动终端可以划分出工作区以及工作区之外的个人区,从而实现个人数据以及工作数据的隔离,实现安全的企业移动办公。
在控制客户端中,可以安装企业应用程序、打电话、发消息、收发邮件等。应用程序的安装通常都是通过安装包实现的,而安装包是应用程序预先编译好的,由于在企业办公时,可能对应用程序常常存在不同的需求,因此目前的应用程序无法满足企业办公的个性化需求。
比如由于大部分应用程序可能存在数据调用和分享等功能,通过应用程序可能会导致数据的泄露,因此控制客户端中的应用程序安全性较低,导致工作数据仍然存在安全隐患,无法满足安全性需求。又如,控制客户端一旦出现异常情况,控制客户端中的应用程序的数据也会泄露,导致安全隐患,无法满足安全性需求。
为了满足企业办公的个性化需求,发明人经过一系列研究,提出本申请的技术方案,本申请实施例中,在进行应用程序安装时,可以将应用程序的安装包进行解包,并按照预设封装规则,将所述安装包进行修改;再将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端,根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装,该预设封装规则可以根据服务需求进行设置,使得移动终端安装所述应用程序之后,可以提供预设封装规则对应的服务功能,从而通过对应用程序的安装包进行修改,可以使得应用程序能够实现特定服务功能,从而可以满足企业办公的个性化需求。
下面将结合附图对本申请技术方案进行详细描述。
图1为本申请提供的一种应用程序封装方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:获取应用程序的安装包。
应用程序在移动终端中进行安装之前,获取系统签名权限,然后可以首先获取该应用程序的安装包进行封装。
102:将所述安装包进行解包。
将安装包解包可以获得各种安装文件。
103:按照预设封装规则,将所述安装包进行修改。
该预设封装规则用于指示安装包如何进行修改,可以包括服务代码、修改方式等信息。
对安装包的修改主要是修改、替换或增加安装包的代码,因此可以按照该预设封装规则的服务代码,在安装包中注入服务代码,以实现对安装包括代码的修改、替换或增加。
该预设封装规则中的服务代码以及所述服务代码的修改方式,可以根据预设封装规则对应的服务功能进行确定。
该服务代码可以是提供安全特性的代码,比如沙箱服务代码,以为应用程序提供沙箱特性,提高数据安全性,提高企业办公的安全性。当然,还可以是实现其他服务功能的代码,在下面实施例中会进行介绍。
104:将修改之后的安装包进行打包,获得封装之后的安装包。
修改之后的安装包重新打包,签名等,即可以获得封装之后的安装包。
所述封装之后的安装包用于移动终端中的控制客户端,根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
封装之后的安装包由控制客户端在移动终端中进行应用程序的安装,使得移动终端中安装的该应用程序可以提供预设封装规则对应的服务功能。
因此预设封装规则可以根据希望实现的服务功能进行预先设定,确定服务代码、修改方式等。
本实施例中,通过对应用程序的安装包进行解包、修改以及打包,获得封装之后的安装包,移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装,从而使得所述应用程序可以提供预设封装规则对应的服务功能,从而可以满足企业办公的个性化需求。
本申请实施例中,应用程序封装可以是在企业管理系统中控制客户端对应的服务端中进行。该服务端可以部署在企业内网中,服务端可以管理、下发企业内网的应用程序,因此可以对应用程序进行封装。封装之后的安装包再提供给控制客户端,由控制客户端在移动终端中进行安装。
因此,作为又一个实施例,所述将修改之后的安装包进行打包,获得封装之后的安装包之后,所述方法还包括:
将所述封装之后的安装包提供给移动终端中的控制客户端。
也即可以将封装之后的安装包直接提供给控制客户端。
当然,作为又一种可能的实现方式,应用程序封装可以在单独设置的第三方封装服务器中进行,因此还可以将封装之后的安装包提供给企业管理系统中的服务端,由移动终端通过控制客户端从服务端获取该封装之后的安装包。
其中,作为又一个实施例,所述获取应用程序的安装包可以是:获取控制客户端从预设下载地址下载的应用程序的安装包。
也即主要对预设下载地址下载的应用程序的安装包可以进行封装。该预设下载地址可以是企业办公应用程序的下载地址,在企业管理系统中,服务端可以部署在企业内网中,服务端用于管理、下发企业内网的应用程序,因此该预设下载地址可以是企业管理系统中服务端的地址,当然还可以是企业内网中其他可以提供应用程序下载的下载地址。
图2为本申请提供的一种应用程序封装方法又一个实施例的流程图,该方法可以包括以下几个步骤:
201:获取应用程序的安装包。
应用程序在移动终端中进行安装之前,可以首先获取该应用程序的安装包进行封装。
具体的可以是获取控制客户端从预设下载地址下载的应用程序的安装包。
202:将所述安装包进行解包。
203:按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码。其中,所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
按照预设封装规则,对安装包进行修改具体即是将预设封装规则中的服务代码注入到安装包中,该服务代码可以用于替换、修改或者增加安装包中的代码。所述服务代码用于注入到安装包中,以增加应用程序可以实现的服务功能。204:将修改之后的安装包进行打包,获得封装之后的安装包。
205:将所述封装之后的安装包提供给移动终端中的控制客户端。
所述控制客户端即可以根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
在本实施例中,可以通过在应用程序安装包中注入服务代码的方式,增加应用程序可以实现的功能,以满足企业办公的个性化需求。
图3为本申请提供的一种应用程序封装方法又一个实施例的流程图,该方法可以包括以下几个步骤:
301:获取应用程序的安装包。
应用程序在移动终端中进行安装之前,可以首先获取该应用程序的安装包进行封装。
具体的可以是获取控制客户端从预设下载地址下载的应用程序的安装包。
302:检测用户当前触发的服务请求;
303:查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型对应的预设封装规则。
服务类型与封装规则对应关系可以预先设置。根据不同的服务类型,可以预先设置对应封装规则,以便于应用程序实现服务类型对应的服务功能。
此外,作为又一个实施例,检测用户当前触发的服务请求之前,还可以包括:
输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测用户当前触发的服务请求包括:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
其中,在由企业管理系统的服务端进行应用程序封装时,可以是在检测到控制客户端请求下载应用程序时,获取该请求下载的应用程序的安装包;并通过控制客户端输出不同服务类型的提示信息;从而用户可以根据不同服务类型的提示信息,通过控制客户端选择符合自身需求的服务类型,触发服务请求;因此检测用户当前触发的服务请求也即是检测控制客户端传输的用户当前触发的服务请求。
每一个封装规则中可以包括对应的服务代码,以便于依据服务代码对安装包进行修改。
304:将所述安装包进行解包。
305:按照所述预设封装规则,将所述安装包进行修改。
306:将修改之后的安装包进行打包,获得封装之后的安装包。
307:将所述封装之后的安装包提供给移动终端中的控制客户端。
所述控制客户端即可以根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
在本实施例中,可以根据服务请求携带不同服务类型,对应用程序安装包进行对应的修改,以使得应用程序可以提供不同服务类型的封装规则对应的服务功能。从而可以使得应用程序可以为企业办公提供特定功能,满足个性化需求。
服务类型例如可以是:
WiFi开关控制,如禁止使用Wi-Fi,蓝牙开关控制,如禁止使用蓝牙,摄像头开关控制,如禁止使用摄像头;设置黑白名单,推送配置文件,数据网络切换控制,如禁止使用2G/3G/4G,恢复出厂设置、静默安装、静默卸载,禁止截屏,禁止将工作区数据复制、剪切、粘贴出工作区,禁止用户安装应用,禁止用户删除已安装的应用,禁止应用程序内购买,禁止iCloud云备份,禁止iCloud文稿与数据,禁止iCloud钥匙串,擦除工作区数据,恢复出厂设置,下发工作区密码,锁定设备,解锁设备,锁定工作区,解锁工作区,启动鸣响,关闭鸣响,标记为企业设备,标记为个人设备,更新客户端APP,推送通知,推送链接,定位设备,记录设备位置信息,展示所有设备的地理位置,上传应用至企业应用库,下发到指定分组,更新应用库中应用版本,并提示用户升级,上架前应用加固处理,指定分组强制安装上传的应用,非wifi环境下安装,统计已执行策略和未执行策略的设备数量,按分组下发Wifi配置,按分组下发Exchange配置,配置邮件同步计划,安全策略-要求使用SSL,安全策略-信任所有证书,安全策略-禁止移动工作邮件到其他邮箱,安全策略-禁止通过其他邮箱账户转发/回复工作邮件,检测设备是否root/Jailbreak,可配置是否检测此项并作为违规行为,检测设备是否超过指定时间离线,可配置是否检测此项并作为违规行为,检测设备是否未安装安全软件,可配置是否检测此项并作为违规行为,检测设备是否已卸载天机客户端,可配置是否检测此项并作为违规行为,检测设备当月的网络用量是否超过设定值,可配置是否检测此项并作为违规行为,列出符合管理员设置的违规行为的设备和设备详情,禁用GameCenter,禁用AirDrop,禁用siri,禁用iTunesmusic,禁用Safari,禁用FaceTime,禁用iMessages,禁用iBooksStore。
不同的服务类型对应相应的封装规则,用于实现服务类型指示的服务功能。
用户触发的服务请求中可以携带服务类型,接收到服务请求之后,通过对该服务请求进行解析,即可以获得服务类型。
当然,作为又一个实施例,可以预先设置不同应用类型对应的封装规则或者不同移动终端类型对应的封装规则或者不同控制客户端版本号对应的封装规则,从而可以查找应用类型与封装规则的对应关系、或者移动终端类型对应的封装规则或者控制客户端版本号与封装规则对应关系,根据所述应用程序的应用类型、移动终端类型或者控制客户端版本号,获得对应的封装规则,作为预设封装规则。
当然,也可以综合考虑应用类型、移动终端类型、客户端版本号以及服务类型,设置应用类型、移动终端类型、客户端版本号以及服务类型不同组合关系对应的封装规则。
从而用户触发的服务请求中,除了携带服务类型之外,还可以根据解析获得应用类型、移动终端类型、客户端版本号等信息。
其中,在由服务端进行应用程序封装时,用户触发的服务请求可以通过控制客户端传输至服务端。服务端输出的不同的服务类型的提示信息,具体可以是通过控制客户端输出不同的服务类型的提示信息。
预先设置的每一个封装规则中包括对应的服务代码。确定出预设封装规则,按照所述预设封装规则,将所述安装包进行修改,可以参考图2所示实施例中的描述。
由于不同封装规则的服务代码,用于应用程序安装并运行之后,提供所述服务代码对应的服务功能。
在安装包中注入服务代码包括修改、替换以及增加安装包的代码。
因此,根据不同服务功能,在所述安装包中注入所述预设封装规则对应的服务代码有多种可能的实现方式:
比如,为了实现控制客户端在移动终端安装的应用程序,仅在控制客户端工作区进行显示,可以按照服务代码修改安装包的Manifest,变更应用程序入口为控制客户端的工作区,使得应用程序安装后仅出现在天机工作区内,如右图所示:。
又如,服务代码可以是hook代码,将hook代码插入到安装包,使得应用程序可以利用hook技术实现多种操作,比如可以截获应用程序的读写文件操作,实现对读写的数据进行加解密;还可以利用hook技术截获应用程序打开方式的行为,把打开资源的请求发送给控制客户端,由控制客户端来判断和选择使用何种方式,例如第三方应用打某个文档,在弹出的应用选择窗口中只会出现工作区内的文档查看器,而不会出现个人区的文档查看器。如果工作区内没有安装相应的文档查看器,可以直接跳转到应用程序下载地址,提示用户下载。
又如,服务代码可以包括通信代码,将通信代码插入安装包中,使得应用程序可以与控制客户端进行通信,服务端即可以通过控制客户端向应用程序发送指令,例如数据清除指令等。
为了响应服务端的指令,比如响应数据清除指令,实现数据清除,可以在安装包中加入数据清除服务包,具体的,可以利用apktool对应用程序安装包进行解压,解压成原来的文件,然后对其中的代码文件、配置文件等进行反编译。对反编译后的文件进行处理,包括在反编译后的代码中插入清除服务包对应的服务代码和在反编译后的Androidmanifest.xml文件中加入清除服务包的服务声明。清除服务包需编译成smali文件,再插入应用程序解压后的原文件。通过脚本对解压后的Androidmanifest.xml文件进行解析,写入清除服务包的相关的服务声明,其中,服务声明包中包括清除服务包的名称、用途及路径等。将处理后的反编译文件进行回编译、签名,即完成应用程序中清除服务包的插入。
又如,服务代码可以包括监听代码,将监听异常事件代码插入安装包中,使得应用程序运行时,监听到异常事件时,可以执行相应操作,比如异常事件为控制客户端卸载时,即执行清除数据的操作。
当然,上述仅是举例说明,不应作为对本申请技术方案的限制。
本申请实施例主要使用在移动终端的企业管理系统中,移动终端的企业管理系统是面向企业的移动终端企业管理平台,包括部署服务端和安装在需要被管理的移动终端上的客户端。服务端部署在企业内网中。
本申请实施例中,将服务端称为服务器,安装在需要被管理的移动终端上的客户端称为控制客户端。
其中:服务器的可以实现的主要功能包括:管理、下发企业内网的应用,以及管理、下发安全策略等。
服务器还提供丰富的移动终端统计与管理工具,企业管理员可以通过服务器查看每个需要被管理的移动终端的详细信息,包括:终端型号、系统版本、IMEI(InternationalMobile Equipment Identification Number,国际移动设备识别码)、序列号、MSISDN(移动台识别号码,俗称手机号码)、是否离线、是否Root(超级用户)、更换密码时间、是否安装安全软件、电源信息、无线网络信息等。控制客户端的主要功能包括:数据防泄密,执行安全策略等,数据防泄密包括数据加密、数据隔离等,加密的数据可以是涉及系统文件内的数据;或者是用户选定的财务文件、生产文件、销售文件、市场文件、人力资源文件等内的数据;还可以是用户个人文件的数据,例如:照片、视频、日志等。
控制客户端用于执行服务器端下发的策略和移动办公。
具体的,控制客户端的功能主要表现在以下几个方面:
A.独立工作区
基于客户端的数据防泄密机制,客户端在移动终端上建立了独立工作区,所有的企业应用程序和数据存储在受保护的工作区内。相应的,工作区外的内存空间称为个人区,所有的个人应用程序和数据存储在个人区内,个人应用程序无法访问企业数据,从而避免企业数据被个人应用非法访问、存取。移动终端中的工作区和个人区可进行切换。
B.工作区设置有电子邮箱、日历、联系人、短信、浏览器和应用市场等应用。
电子邮箱可查看、收发电子邮件。
日历可查看exchange同步的约会,新建、编辑日历约会。
联系人中可新建或导入联系人。工作区的联系人和通话记录与个人区完全隔离,可设置工作区内发生的通话记录是否显示在个人区。
工作区的短信与个人区完全隔离。
浏览器提供网页访问功能。
通过应用市场下载服务器端推送的应用程序。
服务器的功能主要表现在以下几个方面:
A.企业应用库
服务器端建立了一个专用空间,用于存储上传到服务器端中的应用程序,称为企业应用库,企业应用库用于生成应用市场。服务器端可自动提取应用程序的logo等信息,方便管理员的管理,并可将应用程序下发给客户端。
B.下发安全策略
设置客户端工作区锁屏密码的种类、复杂度及更换周期等。
设置客户端超出离线时间后,不能访问客户端工作区。
禁止工作区截屏,禁止从工作区复制、粘贴、剪切内容至个人区;基于地理位置的摄像头禁用。
定期检测客户端是否被root或越狱,并设定相应的处理方法。
C.管理客户端
在客户端存在安全威胁时,清除客户端的数据,包括邮箱、存储的文件、相关的安全策略和配置文件等,但不影响个人区的数据。
在客户端所在的移动终端丢失的情况下,发送锁定命令,锁定客户端的工作区,以保护工作区的数据。
当用户忘记工作区的锁屏密码或特殊情况下管理员需访问客户端时,发送解锁命令,解除工作区的锁屏密码。
当用户忘记工作区的锁屏密码或管理员需强制更换工作区锁屏密码时,发送新的锁屏密码。
当客户端的邮件长时间不更新时,发送同步邮件命令,使客户端同步邮件。由于客户端同步邮件的频率不相同,当管理员发送紧急邮件时,可利用邮件同步功能,确保个客户端及时收到邮件。
利用客户端收集的定位信息,对客户端进行位置定位,方便管理员了解客户端的位置。
在客户端所在的移动终端丢失的情况下,发送启动鸣响命令,使客户端发出警报。
批量推送消息或url至客户端。推送消息有两种形式:推送消息和推送通知,消息仅显示在工作区桌面的消息widget中,通知将在用户进入工作区时弹窗显示通知内容。
通过本申请实施例的技术方案中,服务器可以对企业应用程序进行封装,从而可以实现控制客户端在移动终端的工作区中安装企业应用程序,与个人应用程序进行隔离、还可以实现对应用程序的数据进行加密保护、对应用程序实现远程控制、清除应用程序的数据等等。从而可以满足企业办公的个性化需求,提高安全性。
图4为本申请提供的一种应用程序封装装置一个实施例的结构示意图,本实施例所述装置可以配置于企业管理系统的服务端中。
该装置可以包括:
安装包获取模块401,用于获取应用程序的安装包。
安装包修改模块402,用于将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改。
安装包封装模块403,用于将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装。
封装之后的安装包提在移动终端中进行应用程序的安装,使得移动终端中安装的该应用程序可以提供预设封装规则对应的服务功能。
因此预设封装规则可以根据希望实现的服务功能进行预先设定,确定服务代码、修改方式等。
本实施例中,通过对应用程序的安装包进行解包、修改以及打包,获得封装之后的安装包,移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装,从而使得所述应用程序可以提供预设封装规则对应的服务功能,从而可以满足企业办公的个性化需求。
本申请实施例所述的应用程序封装装置配置在企业管理系统中的服务端中时,该服务端可以部署在企业内网中,服务端可以管理、下发企业内网的应用程序,因此封装之后的安装包可以提供给控制客户端,由控制客户端在移动终端中进行安装。
其中,作为又一个实施例,所述安装包获取模块可以具体用于:获取控制客户端从预设下载地址请求下载的应用程序的安装包。
也即主要对预设下载地址下载的应用程序的安装包可以进行封装。该预设下载地址可以是企业办公应用程序的下载地址。在企业管理系统中,服务端可以部署在企业内网中,服务端可以用于管理、下发企业内网的应用程序,因此该预设下载地址可以是企业管理系统中服务端的地址,当然还可以是企业内网中其他可以提供应用程序下载的下载地址。
作为又一个实施例,所述安装包修改模块402可以具体用于:
将所述安装包进行解包,并按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码;所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
其中,所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
服务代码可以用于替换、修改或者增加安装包中的代码。
所述服务代码用于注入到安装包中,以增加应用程序可以实现的服务功能。
在本实施例中,可以通过在应用程序安装包中注入服务代码的方式,增加应用程序可以实现的功能,以满足企业办公的个性化需求。
如图5所示的应用程序封装装置又一个实施例中,与图4所示不同之处在于,安装包修改模块402包括:
检测单元501,用于检测用户当前触发的服务请求;
查找单元502,用于查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型对应的预设封装规则;
修改单元503,用于将所述安装包进行解包,并按照所述预设封装规则,将所述安装包进行修改。
服务类型与封装规则对应关系可以预先设置。根据不同的服务类型,可以预先设置对应封装规则,以便于应用程序实现服务类型对应的服务功能。
此外,作为又一个实施例,如图5中所示,该方法还可以包括:
输出模块404,用于输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测单元501检测用户当前触发的服务请求包括:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
其中,该输出模块可以具体是通过控制客户端输出不同服务类型的提示信息;
检测单元也即具体是检测控制客户端传输的用户当前触发的服务请求。
安装包获取模块具体可以是在检测到控制客户端请求下载应用程序时,获取该请求下载的应用程序的安装包。
每一个封装规则中可以包括对应的服务代码,以便于依据服务代码对安装包进行修改。
在本实施例中,可以根据不同的服务请求携带服务类型,对应用程序安装包进行对应的修改,以使得可以提供不同服务类型的封装规则对应的服务功能。从而可以使得应用程序可以为企业办公提供特定功能,满足个性化需求。
当然,作为又一个实施例,可以预先设置不同应用类型对应的封装规则或者不同移动终端类型对应的封装规则或者不同控制客户端版本号对应的封装规则,从而可以查找应用类型与封装规则的对应关系、或者移动终端类型对应的封装规则或者控制客户端版本号与封装规则对应关系,根据所述应用程序的应用类型、移动终端类型或者控制客户端版本号,获得对应的封装规则,作为预设封装规则。
当然,也可以综合考虑应用类型、移动终端类型、客户端版本号以及服务类型,设置应用类型、移动终端类型、客户端版本号以及服务类型不同组合关系对应的封装规则。
从而用户触发的服务请求中,除了携带服务类型之外,还可以根据解析获得应用类型、移动终端类型、客户端版本号等信息。
本申请还提供了一种服务器,配置有上述任一个实施例中所述的应用程序封装装置。
该服务器可以具体是企业管理系统中部署在企业内网中的服务器。
通过所述服务器可以实现应用程序的自动封装,以提高数据安全性或者提供其他特定服务功能,以满足企业办公的个性化需求。
其可以在控制客户端请求下载应用程序时,对请求下载的应用程序的安装包进行修改,实现应用程序的自动封装。
还可以在进行封装时,通过控制客户端输出服务类型的提示信息,以便于根据用户自身需求进行应用程序的封装等。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (8)

1.一种应用程序封装方法,其特征在于,包括:
获取应用程序的安装包;
将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改;所述预设封装规则根据实际需求的服务功能进行设置;
将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装;
所述将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改包括:
检测用户当前触发的服务请求;
查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型对应的预设封装规则;
将所述安装包进行解包,并按照所述预设封装规则,将所述安装包进行修改。
2.根据权利要求1所述的方法,其特征在于,所述检测用户当前触发的服务请求之前,所述方法还包括:
输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测用户当前触发的服务请求包括:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
3.根据权利要求1~2任一项所述的方法,其特征在于,所述将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改包括:
将所述安装包进行解包,并按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码;所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
4.根据权利要求1所述的方法,其特征在于,所述获取应用程序的安装包包括:
获取控制客户端从预设下载地址下载的应用程序的安装包。
5.一种应用程序封装装置,其特征在于,包括:
安装包获取模块,用于获取应用程序的安装包;
安装包修改模块,用于将所述安装包进行解包,并按照预设封装规则,将所述安装包进行修改;所述预设封装规则根据实际需求的服务功能进行设置;
安装包封装模块,用于将修改之后的安装包进行打包,获得封装之后的安装包;所述封装之后的安装包用于移动终端中的控制客户端根据所述封装之后的安装包,在所述移动终端中进行应用程序的安装;
所述安装包修改模块包括:
检测单元,用于检测用户当前触发的服务请求;
查找单元,用于查找服务类型与封装规则对应关系,获得所述服务请求中携带的服务类型对应的预设封装规则;
修改单元,用于将所述安装包进行解包,并按照所述预设封装规则,将所述安装包进行修改。
6.根据权利要求5所述的装置,其特征在于,还包括:
输出模块,用于输出不同服务类型的提示信息,所述提示信息用于提示用户不同服务类型的服务功能;
所述检测单元具体用于:
检测用户根据所述不同服务类型的提示信息进行服务类型选择而触发的服务请求。
7.根据权利要求5~6任一项所述的装置,其特征在于,所述安装包修改模块具体用于:
将所述安装包进行解包,并按照预设封装规则,在所述安装包中注入所述预设封装规则对应的服务代码;所述服务代码用于在所述应用程序安装并运行时,提供所述服务代码对应的服务功能。
8.根据权利要求5所述的装置,其特征在于,所述安装包获取模块具体用于:
获取控制客户端从预设下载地址请求下载的应用程序的安装包。
CN201510982497.6A 2015-12-23 2015-12-23 应用程序封装方法及装置 Active CN105912353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510982497.6A CN105912353B (zh) 2015-12-23 2015-12-23 应用程序封装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510982497.6A CN105912353B (zh) 2015-12-23 2015-12-23 应用程序封装方法及装置

Publications (2)

Publication Number Publication Date
CN105912353A CN105912353A (zh) 2016-08-31
CN105912353B true CN105912353B (zh) 2019-12-27

Family

ID=56744321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510982497.6A Active CN105912353B (zh) 2015-12-23 2015-12-23 应用程序封装方法及装置

Country Status (1)

Country Link
CN (1) CN105912353B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487791A (zh) * 2016-10-13 2017-03-08 深圳市深信服电子科技有限公司 基于应用封装的应用审计系统、方法及审计组件
CN106951224A (zh) * 2017-02-13 2017-07-14 深信服科技股份有限公司 应用程序封装方法及装置
CN107391178B (zh) * 2017-06-29 2020-10-16 北京北信源软件股份有限公司 一种终端安装包部署和实现方法与装置
CN109101240A (zh) * 2018-06-25 2018-12-28 北京小米移动软件有限公司 打包方法、装置和存储介质
CN111273944B (zh) * 2018-12-05 2024-01-30 三六零科技集团有限公司 生成程序文件并上传至代码仓库的方法及装置
CN110347404A (zh) * 2019-06-28 2019-10-18 北京你财富计算机科技有限公司 一种程序开关控制方法、装置、电子设备
CN110795164B (zh) * 2019-09-30 2024-04-12 奇安信科技集团股份有限公司 应用封装方法、装置及应用运行方法、装置
CN111859139A (zh) * 2020-07-27 2020-10-30 中国工商银行股份有限公司 应用程序推荐方法、装置、计算设备和介质
CN112083953A (zh) * 2020-08-26 2020-12-15 武汉普利商用机器有限公司 Android应用程序构建方法及装置
CN112632644A (zh) * 2020-12-18 2021-04-09 深圳市安络科技有限公司 一种基于安卓系统的app防截屏方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2705428A4 (en) * 2011-05-04 2014-10-15 Apperian Inc PROCESSING, MODIFICATION AND DISTRIBUTION OF INSTALLATION PACKAGES
CN103677935A (zh) * 2013-12-23 2014-03-26 北京奇虎科技有限公司 一种应用程序的安装控制方法、系统及装置
CN104866292B (zh) * 2014-02-25 2018-05-25 北京娜迦信息科技发展有限公司 一种扩展软件功能的方法及装置
CN104243561B (zh) * 2014-09-02 2018-08-10 联想(北京)有限公司 一种电子设备、信息处理方法和信息推送系统
CN104252374B (zh) * 2014-10-17 2018-04-20 北京奇虎科技有限公司 基于架构改变的程序管控方法及装置
CN104317626B (zh) * 2014-11-13 2017-08-11 北京奇虎科技有限公司 终端设备中应用软件权限控制的方法、装置和系统

Also Published As

Publication number Publication date
CN105912353A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
CN105912353B (zh) 应用程序封装方法及装置
US10454942B2 (en) Managed clone applications
US20140282829A1 (en) Incremental compliance remediation
CN109460660B (zh) 一种移动设备安全管理系统
CN104317626B (zh) 终端设备中应用软件权限控制的方法、装置和系统
US7770785B2 (en) Apparatus and methods for detection and management of unauthorized executable instructions on a wireless device
US10187425B2 (en) Issuing security commands to a client device
US20150089577A1 (en) System and method for updating downloaded applications using managed container
US20130232573A1 (en) Method and system for application-based policy monitoring and enforcement on a mobile device
CN107273142B (zh) 程序更新方法、程序运行方法及装置
US20210303694A1 (en) Dynamic application deployment in trusted code environments
CN104462997A (zh) 一种保护移动终端上工作数据的方法、装置和系统
CN104036194B (zh) 一种应用程序中泄露隐私数据的漏洞检测方法及装置
CN114650154B (zh) 网页权限行为控制方法、装置、计算机设备和存储介质
CN102509054A (zh) 移动终端和用于移动终端的应用程序控制方法
CN103632107A (zh) 一种移动终端信息安全防护系统和方法
CN105631307B (zh) 截屏方法、装置及系统
CN103067246A (zh) 对基于即时通讯业务接收到的文件进行处理的方法及装置
CN109298895B (zh) 移动设备上的app管理方法及装置
US11108831B2 (en) Machine policy configuration for managed devices
CN107294930A (zh) 文件传播的管理方法及装置
CN106485104B (zh) 终端安全策略的自动修复方法和装置、系统
US10405183B2 (en) Purposed device system and method for smartphone
CN111338899B (zh) 一种监控方法、终端及存储介质
US11343252B2 (en) Kernel level application data protection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science and Technology Park, High-tech Zone, Binhai New District, Tianjin 300000

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right