應用程序封裝方法及裝置的制造方法
【專利摘要】本申請公開了一種應用程序封裝方法及裝置,所述方法包括:獲取應用程序的安裝包;將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改;將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。本申請實施例通過對應用程序安裝包進行修改,使得應用程序可以提供特定的服務功能,滿足了企業(yè)辦公的個性化需求。
【專利說明】
應用程序封裝方法及裝置
技術(shù)領域
[0001]本申請屬于電子技術(shù)領域,具體地說,涉及一種應用程序封裝方法及裝置。
【背景技術(shù)】
[0002]隨著移動終端的成熟以及普及,以手機、平板電腦等為代表的移動終端既可以個人使用,也可以用于企業(yè)辦公,因此使得同一移動終端中既會存在個人數(shù)據(jù),也會存在工作數(shù)據(jù)。
[0003]由于工作數(shù)據(jù)的私密性要求更高,為了對移動終端中的工作數(shù)據(jù)進行安全防護,以保證工作數(shù)據(jù)的安全,目前的一種解決方式是可以通過企業(yè)管理系統(tǒng)對移動終端進行工作數(shù)據(jù)的保護,企業(yè)管理系統(tǒng)包括部署在移動終端中的控制客戶端以及控制客戶端對應的服務端,通過在移動終端中安裝一種控制客戶端,控制客戶端即可以將移動終端劃分出工作區(qū),在控制客戶端中,可以安裝應用程序、打電話、發(fā)消息、收發(fā)郵件等,滿足企業(yè)辦公需求,且企業(yè)辦公產(chǎn)生的工作數(shù)據(jù)均被隔離在工作區(qū)中,提高了工作數(shù)據(jù)安全性。
[0004]由上述描述可知,在控制客戶端中,可以安裝應用程序,以方便企業(yè)辦公。但是為了滿足安全性以及個性化,在進行企業(yè)辦公時,對應用程序常常存在不同的需求,但是目前的應用程序都是已經(jīng)編譯好的,因此無法滿足企業(yè)辦公的個性化需求。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請所要解決的技術(shù)問題是提供了一種應用封裝方法及裝置,通過對應用程序的安裝包進行修改,滿足了企業(yè)辦公的個性化需求。
[0006]為了解決上述技術(shù)問題,本申請公開了一種應用程序封裝方法,包括:
[0007]獲取應用程序的安裝包;
[0008]將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改;
[0009]將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0010]優(yōu)選地,將所述安裝包括進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改包括:
[0011]檢測用戶當前觸發(fā)的服務請求;
[0012]查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型對應的預設封裝規(guī)則;
[0013]將所述安裝包括進行解包,并按照所述預設封裝規(guī)則,將所述安裝包進行修改。
[0014]優(yōu)選地,所述檢測用戶觸發(fā)的服務請求之前,所述方法還包括:
[0015]輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功能;
[0016]所述檢測用戶當前觸發(fā)的服務請求包括:
[0017]檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。
[0018]優(yōu)選地,所述將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改包括:
[0019]將所述安裝包進行解包,并按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼;所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。
[0020]優(yōu)選地,所述獲取應用程序的安裝包包括:
[0021]獲取控制客戶端從預設下載地址下載的應用程序的安裝包。
[0022]一種應用程序封裝裝置,包括:
[0023]安裝包獲取模塊,用于獲取應用程序的安裝包;
[0024]安裝包修改模塊,用于將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改;
[0025]安裝包封裝模塊,用于將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0026]優(yōu)選地,所述安裝包修改模塊包括:
[0027]檢測單元,用于檢測用戶當前觸發(fā)的服務請求;
[0028]查找單元,用于查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型求對應的預設封裝規(guī)則;
[0029]修改單元,用于將所述安裝包括進行解包,并按照所述當預設封裝規(guī)則,將所述安裝包進行修改。
[0030]優(yōu)選地,還包括:
[0031]輸出模塊,用于輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功能;
[0032]所述檢測單元具體用于:
[0033]檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。
[0034]優(yōu)選地,所述安裝包修改模塊具體用于:
[0035]將所述安裝包進行解包,并按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼;所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。
[0036]優(yōu)選地,所述安裝包獲取模塊具體用于:
[0037]獲取控制客戶端從預設下載地址請求下載的應用程序的安裝包。
[0038]與現(xiàn)有技術(shù)相比,本申請可以獲得包括以下技術(shù)效果:
[0039]將應用程序的安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改;再將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝,該預設封裝規(guī)則可以根據(jù)實際需求的服務功能進行設置,使得移動終端安裝所述應用程序之后,可以提供預設封裝規(guī)則對應的服務功能,從而通過對應用程序的安裝包進行修改,可以使得應用程序能夠?qū)崿F(xiàn)特定的服務功能,從而可以滿足企業(yè)辦公的個性化需求。
[0040]當然,實施本申請的任一產(chǎn)品必不一定需要同時達到以上所述的所有技術(shù)效果。
【附圖說明】
[0041]此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:
[0042]圖1是本申請實施例的一種應用程序封裝方法一個實施例的流程圖;
[0043]圖2是本申請實施例的一種應用程序封裝方法又一個實施例的流程圖;
[0044]圖3是本申請實施例的一種應用程序封裝方法又一個實施例的流程圖;
[0045]圖4是本申請實施例的一種應用程序封裝裝置一個實施例的結(jié)構(gòu)示意圖;
[0046]圖5是本申請實施例的一種應用程序封裝裝置又一個實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0047]以下將配合附圖及實施例來詳細說明本申請的實施方式,藉此對本申請如何應用技術(shù)手段來解決技術(shù)問題并達成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。
[0048]本發(fā)明主要應用在移動終端的企業(yè)管理系統(tǒng)中,移動終端的企業(yè)管理系統(tǒng)是面向企業(yè)的移動終端企業(yè)管理平臺,包括服務端和安裝在需要被管理的移動終端上的客戶端,服務端可以部署在企業(yè)內(nèi)網(wǎng)的。
[0049]本發(fā)明實施例中,服務端稱為服務器,安裝在需要被管理的移動終端上的客戶端稱為控制客戶端。
[0050]控制客戶端可以在移動終端中建立一個安全的工作區(qū),使得移動終端可以劃分出工作區(qū)以及工作區(qū)之外的個人區(qū),從而實現(xiàn)個人數(shù)據(jù)以及工作數(shù)據(jù)的隔離,實現(xiàn)安全的企業(yè)移動辦公。
[0051]在控制客戶端中,可以安裝企業(yè)應用程序、打電話、發(fā)消息、收發(fā)郵件等。應用程序的安裝通常都是通過安裝包實現(xiàn)的,而安裝包是應用程序預先編譯好的,由于在企業(yè)辦公時,可能對應用程序常常存在不同的需求,因此目前的應用程序無法滿足企業(yè)辦公的個性化需求。
[0052]比如由于大部分應用程序可能存在數(shù)據(jù)調(diào)用和分享等功能,通過應用程序可能會導致數(shù)據(jù)的泄露,因此控制客戶端中的應用程序安全性較低,導致工作數(shù)據(jù)仍然存在安全隱患,無法滿足安全性需求。又如,控制客戶端一旦出現(xiàn)異常情況,控制客戶端中的應用程序的數(shù)據(jù)也會泄露,導致安全隱患,無法滿足安全性需求。
[0053]為了滿足企業(yè)辦公的個性化需求,發(fā)明人經(jīng)過一系列研究,提出本申請的技術(shù)方案,本申請實施例中,在進行應用程序安裝時,可以將應用程序的安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改;再將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端,根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝,該預設封裝規(guī)則可以根據(jù)服務需求進行設置,使得移動終端安裝所述應用程序之后,可以提供預設封裝規(guī)則對應的服務功能,從而通過對應用程序的安裝包進行修改,可以使得應用程序能夠?qū)崿F(xiàn)特定服務功能,從而可以滿足企業(yè)辦公的個性化需求。
[0054]下面將結(jié)合附圖對本申請技術(shù)方案進行詳細描述。
[0055]圖1為本申請?zhí)峁┑囊环N應用程序封裝方法一個實施例的流程圖,該方法可以包括以下幾個步驟:
[0056]101:獲取應用程序的安裝包。
[0057]應用程序在移動終端中進行安裝之前,獲取系統(tǒng)簽名權(quán)限,然后可以首先獲取該應用程序的安裝包進行封裝。
[0058]102:將所述安裝包進行解包。
[0059]將安裝包解包可以獲得各種安裝文件。
[0060]103:按照預設封裝規(guī)則,將所述安裝包進行修改。
[0061]該預設封裝規(guī)則用于指示安裝包如何進行修改,可以包括服務代碼、修改方式等
?目息O
[0062]對安裝包的修改主要是修改、替換或增加安裝包的代碼,因此可以按照該預設封裝規(guī)則的服務代碼,在安裝包中注入服務器代碼,以實現(xiàn)對安裝包括代碼的修改、替換或增加。
[0063]該預設封裝規(guī)則中的服務代碼以及所述服務代碼的修改方式,可以根據(jù)預設封裝規(guī)則對應的服務功能進行確定。
[0064]該服務代碼可以是提供安全特性的代碼,比如沙箱服務代碼,以為應用程序提供沙箱特性,提高數(shù)據(jù)安全性,提高企業(yè)辦公的安全性。當然,還可以是實現(xiàn)其他服務功能的代碼,在下面實施例中會進行介紹。
[0065]104:將修改之后的安裝包進行打包,獲得封裝之后的安裝包。
[0066]修改之后的安裝包重新打包,簽名等,即可以獲得封裝之后的安裝包。
[0067]所述封裝之后的安裝包用于移動終端中的控制客戶端,根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0068]封裝之后的安裝包由控制客戶端在移動終端中進行應用程序的安裝,使得移動終端中安裝的該應用程序可以提供預設封裝規(guī)則對應的服務功能。
[0069]因此預設封裝規(guī)則可以根據(jù)希望實現(xiàn)的服務功能進行預先設定,確定服務代碼、修改方式等。
[0070]本實施例中,通過對應用程序的安裝包進行解包、修改以及打包,獲得封裝之后的安裝包,移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝,從而使得所述應用程序可以提供預設封裝規(guī)則對應的服務功能,從而可以滿足企業(yè)辦公的個性化需求。
[0071]本申請實施例中,應用程序封裝可以是在企業(yè)管理系統(tǒng)中控制客戶端對應的服務端中進行。該服務端可以部署在企業(yè)內(nèi)網(wǎng)中,服務端可以管理、下發(fā)企業(yè)內(nèi)網(wǎng)的應用程序,因此可以對應用程序進行封裝。封裝之后的安裝包再提供給控制客戶端,由控制客戶端在移動終端中進行安裝。
[0072]因此,作為又一個實施例,所述將修改之后的安裝包進行打包,獲得封裝之后的安裝包之后,所述方法還包括:
[0073]將所述封裝之后的安裝包提供給移動終端中的控制客戶端。
[0074]也即可以將封裝之后的安裝包直接提供給控制客戶端。
[0075]當然,作為又一種可能的實現(xiàn)方式,應用程序封裝可以在單獨設置的第三方封裝服務器中進行,因此還可以將封裝之后的安裝包提供給企業(yè)管理系統(tǒng)中的服務端,由移動終端通過控制客戶端從服務端獲取該封裝之后的安裝包。
[0076]其中,作為又一個實施例,所述獲取應用程序的安裝包可以是:獲取控制客戶端從預設下載地址下載的應用程序的安裝包。
[0077]也即主要對預設下載地址下載的應用程序的安裝包可以進行封裝。該預設下載地址可以是企業(yè)辦公應用程序的下載地址,在企業(yè)管理系統(tǒng)中,服務端可以部署在企業(yè)內(nèi)網(wǎng)中,服務端用于管理、下發(fā)企業(yè)內(nèi)網(wǎng)的應用程序,因此該預設下載地址可以是企業(yè)管理系統(tǒng)中服務端的地址,當然還可以是企業(yè)內(nèi)網(wǎng)中其他可以提供應用程序下載的下載地址。
[0078]圖2為本申請?zhí)峁┑囊环N應用程序封裝方法又一個實施例的流程圖,該方法可以包括以下幾個步驟:
[0079]201:獲取應用程序的安裝包。
[0080]應用程序在移動終端中進行安裝之前,可以首先獲取該應用程序的安裝包進行封裝。
[0081]具體的可以是獲取控制客戶端從預設下載地址下載的應用程序的安裝包。
[0082]202:將所述安裝包進行解包。
[0083]203:按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼。其中,所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。
[0084]按照預設封裝規(guī)則,對安裝包進行修改具體即是將預設封裝規(guī)則中的服務代碼注入到安裝包中,該服務代碼可以用于替換、修改或者增加安裝包中的代碼。所述服務代碼用于注入到安裝包中,以增加應用程序可以實現(xiàn)的服務功能。204:將修改之后的安裝包進行打包,獲得封裝之后的安裝包。
[0085]205:將所述封裝之后的安裝包提供給移動終端中的控制客戶端。
[0086]所述控制客戶端即可以根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0087]在本實施例中,可以通過在應用程序安裝包中注入服務代碼的方式,增加應用程序可以實現(xiàn)的功能,以滿足企業(yè)辦公的個性化需求。
[0088]圖3為本申請?zhí)峁┑囊环N應用程序封裝方法又一個實施例的流程圖,該方法可以包括以下幾個步驟:
[0089]301:獲取應用程序的安裝包。
[0090]應用程序在移動終端中進行安裝之前,可以首先獲取該應用程序的安裝包進行封裝。
[0091]具體的可以是獲取控制客戶端從預設下載地址下載的應用程序的安裝包。
[0092]302:檢測用戶當前觸發(fā)的服務請求;
[0093]303:查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型對應的預設封裝規(guī)則。
[0094]服務類型與封裝規(guī)則對應關(guān)系可以預先設置。根據(jù)不同的服務類型,可以預先設置對應封裝規(guī)則,以便于應用程序?qū)崿F(xiàn)服務類型對應的服務功能。
[0095]此外,作為又一個實施例,檢測用戶當前觸發(fā)的服務請求之前,還可以包括:
[0096]輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功能;
[0097]所述檢測用戶當前觸發(fā)的服務請求包括:
[0098]檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。
[0099]其中,在由企業(yè)管理系統(tǒng)的服務端進行應用程序封裝時,可以是在檢測到控制客戶端請求下載應用程序時,獲取該請求下載的應用程序的安裝包;并通過控制客戶端輸出不同服務類型的提示信息;從而用戶可以根據(jù)不同服務類型的提示信息,通過控制客戶端選擇符合自身需求的服務類型,觸發(fā)服務請求;因此檢測用戶當前觸發(fā)的服務請求也即是檢測控制客戶端傳輸?shù)挠脩舢斍坝|發(fā)的服務請求。
[0100]每一個封裝規(guī)則中可以包括對應的服務代碼,以便于依據(jù)服務代碼對安裝包進行修改。
[0101]304:將所述安裝包進行解包。
[0102]305:按照所述預設封裝規(guī)則,將所述安裝包進行修改。
[0103]306:將修改之后的安裝包進行打包,獲得封裝之后的安裝包。
[0104]307:將所述封裝之后的安裝包提供給移動終端中的控制客戶端。
[0105]所述控制客戶端即可以根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0106]在本實施例中,可以根據(jù)服務請求攜帶不同服務類型,對應用程序安裝包進行對應的修改,以使得應用程序可以提供不同服務類型的封裝規(guī)則對應的服務功能。從而可以使得應用程序可以為企業(yè)辦公提供特定功能,滿足個性化需求。
[0107]服務類型例如可以是:
[0108]WiFi開關(guān)控制,如禁止使用W1-Fi,藍牙開關(guān)控制,如禁止使用藍牙,攝像頭開關(guān)控制,如禁止使用攝像頭;設置黑白名單,推送配置文件,數(shù)據(jù)網(wǎng)絡切換控制,如禁止使用2G/3G/4G,恢復出廠設置、靜默安裝、靜默卸載,禁止截屏,禁止將工作區(qū)數(shù)據(jù)復制、剪切、粘貼出工作區(qū),禁止用戶安裝應用,禁止用戶刪除已安裝的應用,禁止應用程序內(nèi)購買,禁止iCloud云備份,禁止iCloud文稿與數(shù)據(jù),禁止iCloud鑰匙串,擦除工作區(qū)數(shù)據(jù),恢復出廠設置,下發(fā)工作區(qū)密碼,鎖定設備,解鎖設備,鎖定工作區(qū),解鎖工作區(qū),啟動鳴響,關(guān)閉鳴響,標記為企業(yè)設備,標記為個人設備,更新客戶端APP,推送通知,推送鏈接,定位設備,記錄設備位置信息,展示所有設備的地理位置,上傳應用至企業(yè)應用庫,下發(fā)到指定分組,更新應用庫中應用版本,并提示用戶升級,上架前應用加固處理,指定分組強制安裝上傳的應用,非wifi環(huán)境下安裝,統(tǒng)計已執(zhí)行策略和未執(zhí)行策略的設備數(shù)量,按分組下發(fā)Wifi配置,按分組下發(fā)Exchange配置,配置郵件同步計劃,安全策略-要求使用SSL,安全策略-信任所有證書,安全策略-禁止移動工作郵件到其他郵箱,安全策略-禁止通過其他郵箱賬戶轉(zhuǎn)發(fā)/回復工作郵件,檢測設備是否root/Jailbreak,可配置是否檢測此項并作為違規(guī)行為,檢測設備是否超過指定時間離線,可配置是否檢測此項并作為違規(guī)行為,檢測設備是否未安裝安全軟件,可配置是否檢測此項并作為違規(guī)行為,檢測設備是否已卸載天機客戶端,可配置是否檢測此項并作為違規(guī)行為,檢測設備當月的網(wǎng)絡用量是否超過設定值,可配置是否檢測此項并作為違規(guī)行為,列出符合管理員設置的違規(guī)行為的設備和設備詳情,禁用GameCenter,禁用AirDrop,禁用siri,禁用iTunesmusic,禁用Safari,禁用FaceTime,禁用iMessages,禁用iBooksStore。
[0109]不同的服務類型對應相應的封裝規(guī)則,用于實現(xiàn)服務類型指示的服務功能。
[0110]用戶觸發(fā)的服務請求中可以攜帶服務類型,接收到服務請求之后,通過對該服務請求進行解析,即可以獲得服務類型。
[0111]當然,作為又一個實施例,可以預先設置不同應用類型對應的封裝規(guī)則或者不同移動終端類型對應的封裝規(guī)則或者不同控制客戶端版本號對應的封裝規(guī)則,從而可以查找應用類型與封裝規(guī)則的對應關(guān)系、或者移動終端類型對應的封裝規(guī)則或者控制客戶端版本號與封裝規(guī)則對應關(guān)系,根據(jù)所述應用程序的應用類型、移動終端類型或者控制客戶端版本號,獲得對應的封裝規(guī)則,作為預設封裝規(guī)則。
[0112]當然,也可以綜合考慮應用類型、移動終端類型、客戶端版本號以及服務類型,設置應用類型、移動終端類型、客戶端版本號以及服務類型不同組合關(guān)系對應的封裝規(guī)則。
[0113]從而用戶觸發(fā)的服務請求中,除了攜帶服務類型之后,還可以根據(jù)解析獲得應用類型、移動終端類型、客戶端版本號等信息。
[0114]其中,在由服務端進行應用程序封裝時,用戶觸發(fā)的服務請求可以通過控制客戶端傳輸至服務端。服務端輸出的不同的服務類型的提示信息,具體可以是通過控制客戶端輸出不同的服務類型的提示信息,
[0115]預先設置的每一個封裝規(guī)則中包括對應的服務代碼。確定出預設封裝規(guī)則,按照所述預設封裝規(guī)則,將所述安裝包進行修改,可以參考圖2所示實施例中的描述。
[0116]由于不同封裝規(guī)則的服務代碼,用于應用程序安裝并運行之后,提供所述服務代碼對應的服務功能。
[0117]在安裝包中注入服務代碼包括修改、替換以及增加安裝包的代碼。而
[0118]因此,根據(jù)不同服務功能,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼有多種可能的實現(xiàn)方式:
[0119]比如,為了實現(xiàn)控制客戶端在移動終端安裝的應用程序,僅在控制客戶端工作區(qū)進行顯示,可以按照服務代碼修改安裝包的Manifest,變更應用程序入口為控制客戶端的工作區(qū),使得應用程序安裝后僅出現(xiàn)在天機工作區(qū)內(nèi)。
[0120]又如,服務代碼可以是hook代碼,將hook代碼插入到安裝包,使得應用程序可以利用hook技術(shù)實現(xiàn)多種操作,比如可以截獲應用程序的讀寫文件操作,實現(xiàn)對讀寫的數(shù)據(jù)進行加解密;還可以利用hook技術(shù)截獲應用程序打開方式的行為,把打開資源的請求發(fā)送給控制客戶端,由控制客戶端來判斷和選擇使用何種方式,例如第三方應用打某個文檔,在彈出的應用選擇窗口中只會出現(xiàn)工作區(qū)內(nèi)的文檔查看器,而不會出現(xiàn)個人區(qū)的文檔查看器。如果工作區(qū)內(nèi)沒有安裝相應的文檔查看器,可以直接跳轉(zhuǎn)到應用程序下載地址,提示用戶下載。
[0121 ]又如,服務代碼可以包括通信代碼,將通信代碼插入安裝包中,使得應用程序可以與控制客戶端進行通信,服務端即可以通過控制客戶端向應用程序發(fā)送指令,例如清楚數(shù)據(jù)等。
[0122]為了響應服務端的指令,比如響應清楚指令,實現(xiàn)數(shù)據(jù)清除,可以在安裝包中加入清楚服務包,具體的,可以利用apktool對應用程序安裝包進行解壓,解壓解壓成原來的文件,然后對其中的代碼文件、配置文件等進行反編譯。對反編譯后的文件進行處理,包括在反編譯后的代碼中插入清除服務包對應的服務代碼和在反編譯后的Androidmanifest.xml文件中加入清除服務包的服務聲明。清除服務包需編譯成smali文件,再插入應用程序解壓后的原文件。通過腳本對解壓后的Androidmanifest.xml文件進行解析,寫入清除服務包的相關(guān)的服務聲明,其中,服務聲明包中包括清除服務包的名稱、用途及路徑等。將處理后的反編譯文件進行回編譯、簽名,即完成應用程序中清除服務包的插入。
[0123]又如,服務代碼可以包括監(jiān)聽代碼,將監(jiān)聽異常事件代碼插入安裝包中,使得應用程序運行時,監(jiān)聽到異常事件時,可以執(zhí)行相應操作,比如異常事件為控制客戶端卸載時,即執(zhí)行清楚數(shù)據(jù)的操作。
[0124]當然,上述僅是舉例說明,不應作為對本申請技術(shù)方案的限制。
[0125]本申請實施例主要使用在移動終端的企業(yè)管理系統(tǒng)中,移動終端的企業(yè)管理系統(tǒng)是面向企業(yè)的移動終端企業(yè)管理平臺,包括部署服務端和安裝在需要被管理的移動終端上的客戶端。服務端部署在企業(yè)內(nèi)網(wǎng)中。
[0126]本申請實施例中,將服務端稱為服務器,安裝在需要被管理的移動終端上的客戶端稱為控制客戶端。
[0127]其中:服務器的可以實現(xiàn)的主要功能包括:管理、下發(fā)企業(yè)內(nèi)網(wǎng)的應用,以及管理、下發(fā)安全策略等。
[0128]服務器還提供豐富的移動終端統(tǒng)計與管理工具,企業(yè)管理員可以通過服務器查看每個需要被管理的移動終端的詳細信息,包括:終端型號、系統(tǒng)版本、頂EKInternat1nalMobile Equipment Identificat1n Number,國際移動設備識別碼)、序列號、MSISDN(移動臺識別號碼,俗稱手機號碼)、是否離線、是否Root(超級用戶)、更換密碼時間、是否安裝安全軟件、電源信息、無線網(wǎng)絡信息等??刂瓶蛻舳说闹饕δ馨?數(shù)據(jù)防泄密,執(zhí)行安全策略等,數(shù)據(jù)防泄密包括數(shù)據(jù)加密、數(shù)據(jù)隔離等,加密的數(shù)據(jù)可以是涉及系統(tǒng)文件內(nèi)的數(shù)據(jù);或者是用戶選定的財務文件、生產(chǎn)文件、銷售文件、市場文件、人力資源文件等內(nèi)的數(shù)據(jù);還可以是用戶個人文件的數(shù)據(jù),例如:照片、視頻、日志等。
[0129]控制客戶端用于執(zhí)行服務器端下發(fā)的策略和移動辦公。
[0130]具體的,控制客戶端的功能主要表現(xiàn)在以下幾個方面:
[0131]Α.獨立工作區(qū)
[0132]基于客戶端的數(shù)據(jù)防泄密機制,客戶端在移動終端上建立了獨立工作區(qū),所有的企業(yè)應用程序和數(shù)據(jù)存儲在受保護的工作區(qū)內(nèi)。相應的,工作區(qū)外的內(nèi)存空間稱為個人區(qū),所有的個人應用程序和數(shù)據(jù)存儲在個人區(qū)內(nèi),個人應用程序無法訪問企業(yè)數(shù)據(jù),從而避免企業(yè)數(shù)據(jù)被個人應用非法訪問、存取。移動終端中的工作區(qū)和個人區(qū)可進行切換。
[0133]B.工作區(qū)設置有電子郵箱、日歷、聯(lián)系人、短信、瀏覽器和應用市場等應用。
[0134]電子郵箱可查看、收發(fā)電子郵件。
[0?35 ]日歷可查看exchange同步的約會,新建、編輯日歷約會。
[0136]聯(lián)系人中可新建或?qū)肼?lián)系人。工作區(qū)的聯(lián)系人和通話記錄與個人區(qū)完全隔離,可設置工作區(qū)內(nèi)發(fā)生的通話記錄是否顯示在個人區(qū)。
[0137]工作區(qū)的短信與個人區(qū)完全隔離。
[0138]瀏覽器提供網(wǎng)頁訪問功能。
[0139]通過應用市場下載服務器端推送的應用程序。
[0140]服務器的功能主要表現(xiàn)在以下幾個方面:
[0141]A.企業(yè)應用庫
[0142]服務器端建立了一個專用空間,用于存儲上傳到服務器端中的應用程序,稱為企業(yè)應用庫,企業(yè)應用庫用于生成應用市場。服務器端可自動提取應用程序的logo等信息,方便管理員的管理,并可將應用程序下發(fā)給客戶端。
[0143]B.下發(fā)安全策略
[0144]設置客戶端工作區(qū)鎖屏密碼的種類、復雜度及更換周期等。
[0145]設置客戶端超出離線時間后,不能訪問客戶端工作區(qū)。
[0146]禁止工作區(qū)截屏,禁止從工作區(qū)復制、粘貼、剪切內(nèi)容至個人區(qū);基于地理位置的攝像頭禁用。
[0147]定期檢測客戶端是否被root或越獄,并設定相應的處理方法。
[0148]C.管理客戶端
[0149]在客戶端存在安全威脅時,清除客戶端的數(shù)據(jù),包括郵箱、存儲的文件、相關(guān)的安全策略和配置文件等,但不影響個人區(qū)的數(shù)據(jù)。
[0150]在客戶端所在的移動終端丟失的情況下,發(fā)送鎖定命令,鎖定客戶端的工作區(qū),以保護工作區(qū)的數(shù)據(jù)。
[0151]當用戶忘記工作區(qū)的鎖屏密碼或特殊情況下管理員需訪問客戶端時,發(fā)送解鎖命令,解除工作區(qū)的鎖屏密碼。
[0152]當用戶忘記工作區(qū)的鎖屏密碼或管理員需強制更換工作區(qū)鎖屏密碼時,發(fā)送新的鎖屏密碼。
[0153]當客戶端的郵件長時間不更新時,發(fā)送同步郵件命令,使客戶端同步郵件。由于客戶端同步郵件的頻率不相同,當管理員發(fā)送緊急郵件時,可利用郵件同步功能,確保個客戶端及時收到郵件。
[0154]利用客戶端收集的定位信息,對客戶端進行位置定位,方便管理員了解客戶端的位置。
[0155]在客戶端所在的移動終端丟失的情況下,發(fā)送啟動鳴響命令,使客戶端發(fā)出警報。
[0156]批量推送消息或url至客戶端。推送消息有兩種形式:推送消息和推送通知,消息僅顯示在工作區(qū)桌面的消息widget中,通知將在用戶進入工作區(qū)時彈窗顯示通知內(nèi)容。
[0157]通過本申請實施例的技術(shù)方案中,服務器可以對企業(yè)應用程序進行封裝,從而可以實現(xiàn)控制客戶端在移動終端的工作區(qū)中安裝企業(yè)應用程序,與個人應用程序進行隔離、還可以實現(xiàn)對應用程序的數(shù)據(jù)進行加密保護、對應用程序?qū)崿F(xiàn)遠程控制、清除應用程序的數(shù)據(jù)等等。從而可以滿足企業(yè)辦公的個性化需求,提高安全性。
[0158]圖4為本申請?zhí)峁┑囊环N應用程序封裝裝置一個實施例的結(jié)構(gòu)示意圖,本實施例所述裝置可以配置與企業(yè)管理系統(tǒng)的服務端中。
[0159]該裝置可以包括:
[0160]安裝包獲取模塊401,用于獲取應用程序的安裝包。[0161 ]安裝包修改模塊402,用于將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改。
[0162]安裝包封裝模塊403,用于將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。
[0163]封裝之后的安裝包提在移動終端中進行應用程序的安裝,使得移動終端中安裝的該應用程序可以提供預設封裝規(guī)則對應的服務功能。
[0164]因此預設封裝規(guī)則可以根據(jù)希望實現(xiàn)的服務功能進行預先設定,確定服務代碼、修改方式等。
[0165]本實施例中,通過對應用程序的安裝包進行解包、修改以及打包,獲得封裝之后的安裝包,移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝,從而使得所述應用程序可以提供預設封裝規(guī)則對應的服務功能,從而可以滿足企業(yè)辦公的個性化需求。
[0166]本申請實施例所述的應用程序封裝裝置配置在企業(yè)管理系統(tǒng)中的服務端中時,該服務端可以部署在企業(yè)內(nèi)網(wǎng)中,服務端可以管理、下發(fā)企業(yè)內(nèi)網(wǎng)的應用程序,因此封裝之后的安裝包可以提供給控制客戶端,由控制客戶端在移動終端中進行安裝。
[0167]其中,作為又一個實施例,所述安裝包獲取模塊可以具體用于:獲取控制客戶端從預設下載地址請求下載的應用程序的安裝包。
[0168]也即主要對預設下載地址下載的應用程序的安裝包可以進行封裝。該預設下載地址可以是企業(yè)辦公應用程序的下載地址。,在企業(yè)管理系統(tǒng)中,服務端可以部署在企業(yè)內(nèi)網(wǎng)中,服務端可以用于管理、下發(fā)企業(yè)內(nèi)網(wǎng)的應用程序,因此該預設下載地址可以是企業(yè)管理系統(tǒng)中服務端的地址,當然還可以是企業(yè)內(nèi)網(wǎng)中其他可以提供應用程序下載的下載地址。
[0169]作為又一個實施例,所述安裝包修改模塊402可以具體用于:
[0170]將所述安裝包進行解包,并按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼;所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。
[0171]其中,所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。
[0172]服務代碼可以用于替換、修改或者增加安裝包中的代碼。
[0173]所述服務代碼用于注入到安裝包中,以增加應用程序可以實現(xiàn)的服務功能。
[0174]在本實施例中,可以通過在應用程序安裝包中注入服務代碼的方式,增加應用程序可以實現(xiàn)的功能,以滿足企業(yè)辦公的個性化需求。
[0175]如圖5所示的應用程序封裝裝置又一個實施例中,與圖4所示不同之處在于,安裝包修改模塊402包括:
[0176]檢測單元501,用于檢測用戶當前觸發(fā)的服務請求;
[0177]查找單元502,用于查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型對應的預設封裝規(guī)則;
[0178]修改單元503,用于將所述安裝包括進行解包,并按照所述預設封裝規(guī)則,將所述安裝包進行修改。
[0179]服務類型與封裝規(guī)則對應關(guān)系可以預先設置。根據(jù)不同的服務類型,可以預先設置對應封裝規(guī)則,以便于應用程序?qū)崿F(xiàn)服務類型對應的服務功能。
[0180]此外,作為又一個實施例,如圖5中所示,該方法還可以包括:
[0181]輸出模塊404,用于輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功能;
[0182]所述檢測用戶501當前觸發(fā)的服務請求包括:
[0183]檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。
[0184]其中,該輸出模塊可以具體是通過控制客戶端輸出不同服務類型的提示信息;
[0185]檢測單元也即具體是檢測控制客戶端傳輸?shù)挠脩舢斍坝|發(fā)的服務請求。
[0186]安裝包獲取模塊具體可以是在檢測到控制客戶端請求下載應用程序時,獲取該請求下載的應用程序的安裝包。
[0187]每一個封裝規(guī)則中可以包括對應的服務代碼,以便于依據(jù)服務代碼對安裝包進行修改。
[0188]在本實施例中,可以根據(jù)不同的服務請求攜帶服務類型,對應用程序安裝包進行對應的修改,以使得可以提供不同服務類型的封裝規(guī)則對應的服務功能。從而可以使得應用程序可以為企業(yè)辦公提供特定功能,滿足個性化需求。
[0189]當然,作為又一個實施例,可以預先設置不同應用類型對應的封裝規(guī)則或者不同移動終端類型對應的封裝規(guī)則或者不同控制客戶端版本號對應的封裝規(guī)則,從而可以查找應用類型與封裝規(guī)則的對應關(guān)系、或者移動終端類型對應的封裝規(guī)則或者控制客戶端版本號與封裝規(guī)則對應關(guān)系,根據(jù)所述應用程序的應用類型、移動終端類型或者控制客戶端版本號,獲得對應的封裝規(guī)則,作為預設封裝規(guī)則。
[0190]當然,也可以綜合考慮應用類型、移動終端類型、客戶端版本號以及服務類型,設置應用類型、移動終端類型、客戶端版本號以及服務類型不同組合關(guān)系對應的封裝規(guī)則。
[0191]從而用戶觸發(fā)的服務請求中,除了攜帶服務類型之后,還可以根據(jù)解析獲得應用類型、移動終端類型、客戶端版本號等信息。
[0192]本申請還提供了一種服務器,配置有上述任一個實施例中所述的應用程序封裝裝置。
[0193]該服務器可以具體是企業(yè)管理系統(tǒng)中部署在企業(yè)內(nèi)網(wǎng)中的服務器。
[0194]通過所述服務器可以實現(xiàn)應用程序的自動封裝,以提高數(shù)據(jù)安全性或者提供其他特定服務功能,以滿足企業(yè)辦公的個性化需求。
[0195]其可以在控制客戶端請求下載應用程序時,對請求下載的應用程序的安裝包進行修改,實現(xiàn)應用程序的自動封裝。
[0196]還可以在進行封裝時,通過控制客戶端輸出服務類型的提示信息,以便于根據(jù)用戶自身需求進行應用程序的封裝等。
[0197]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。
[0198]內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
[0199]計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-R0M)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
[0200]如在說明書及權(quán)利要求當中使用了某些詞匯來指稱特定組件。本領域技術(shù)人員應可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準則。如在通篇說明書及權(quán)利要求當中所提及的“包含”為一開放式用語,故應解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護范圍當視所附權(quán)利要求所界定者為準。
[0201]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
[0202]上述說明示出并描述了本申請的若干優(yōu)選實施例,但如前所述,應當理解本申請并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述申請構(gòu)想范圍內(nèi),通過上述教導或相關(guān)領域的技術(shù)或知識進行改動。而本領域人員所進行的改動和變化不脫離本申請的精神和范圍,則都應在本申請所附權(quán)利要求的保護范圍內(nèi)。
【主權(quán)項】
1.一種應用程序封裝方法,其特征在于,包括: 獲取應用程序的安裝包; 將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改; 將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述安裝包括進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改包括: 檢測用戶當前觸發(fā)的服務請求; 查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型對應的預設封裝規(guī)則; 將所述安裝包括進行解包,并按照所述預設封裝規(guī)則,將所述安裝包進行修改。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述檢測用戶觸發(fā)的服務請求之前,所述方法還包括: 輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功會K; 所述檢測用戶當前觸發(fā)的服務請求包括: 檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。4.根據(jù)權(quán)利要求1?3任一項所述的方法,其特征在于,所述將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改包括: 將所述安裝包進行解包,并按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼;所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取應用程序的安裝包包括: 獲取控制客戶端從預設下載地址下載的應用程序的安裝包。6.一種應用程序封裝裝置,其特征在于,包括: 安裝包獲取模塊,用于獲取應用程序的安裝包; 安裝包修改模塊,用于將所述安裝包進行解包,并按照預設封裝規(guī)則,將所述安裝包進行修改; 安裝包封裝模塊,用于將修改之后的安裝包進行打包,獲得封裝之后的安裝包;所述封裝之后的安裝包用于移動終端中的控制客戶端根據(jù)所述封裝之后的安裝包,在所述移動終端中進行應用程序的安裝。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述安裝包修改模塊包括: 檢測單元,用于檢測用戶當前觸發(fā)的服務請求; 查找單元,用于查找服務類型與封裝規(guī)則對應關(guān)系,獲得所述服務請求中攜帶的服務類型求對應的預設封裝規(guī)則; 修改單元,用于將所述安裝包括進行解包,并按照所述當預設封裝規(guī)則,將所述安裝包進行修改。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 輸出模塊,用于輸出不同服務類型的提示信息,所述提示信息用于提示用戶不同服務類型的服務功能; 所述檢測單元具體用于: 檢測用戶根據(jù)所述不同服務類型的提示信息進行服務類型選擇而觸發(fā)的服務請求。9.根據(jù)權(quán)利要求6?8任一項所述的裝置,其特征在于,所述安裝包修改模塊具體用于: 將所述安裝包進行解包,并按照預設封裝規(guī)則,在所述安裝包中注入所述預設封裝規(guī)則對應的服務代碼;所述服務代碼用于在所述應用程序安裝并運行時,提供所述服務代碼對應的服務功能。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述安裝包獲取模塊具體用于: 獲取控制客戶端從預設下載地址請求下載的應用程序的安裝包。
【文檔編號】G06F9/445GK105912353SQ201510982497
【公開日】2016年8月31日
【申請日】2015年12月23日
【發(fā)明人】張晨, 薛鵬, 王力, 劉偉
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司