應用程序安裝方法及裝置的制造方法
【技術領域】
[0001]本發明涉及應用程序的安裝技術,尤其涉及一種應用程序安裝方法及裝置。
【背景技術】
[0002]為保證系統穩定性和程序數據的安全,一些操作系統引入了 “沙箱”的概念,應用程序只能訪問有限的系統資源(如系統相冊)和規定的系統接口,而對于通話記錄、短信等系統資源和電話、短信接口,則不能進行訪問,在程序中使用也被認為非法使用。
[0003]以1S操作系統為例,應用程序的發布也只能使用ipa的格式,ipa格式實際上為壓縮包格式,系統安裝時是將其解壓后放到應用程序目錄下,被賦予用戶組權限,限制在“沙箱”內運行。
[0004]但是在1S設備越獄(是指獲取系統根權限)之后,程序可以突破系統的限制,有權限訪問系統的各種資源和調用系統接口來完成各種操作,比如讀取系統全量通話記錄、接收發送短信等。越獄之后的1S設備支持安裝deb包格式。deb包雖然也是為壓縮包格式,但是可以在deb包安裝的時候運行腳本,從而可以將應用程序拷貝到指定系統目錄下,并能修改應用程序的權限,從而使得程序獲得系統權限來訪問系統資源和調用系統接口,也可以通過注冊監聽系統消息和接口來動態的監控系統行為。
[0005]不同發布渠道接收安裝包的格式規定不同,如蘋果公司的官方應用商店只接受ipa格式,并且程序不能調用其受限的系統接口,而其他渠道則可能接收ipa格式或者deb格式,因此不同安裝包格式支持的程序功能不同,需要對不同的渠道做相應的適配。
[0006]目前主流的技術方案都是針對不同的發布渠道準備不同的安裝包,對于只支持ipa格式的渠道則準備ipa安裝包,由于ipa包的特點和發布渠道的要求,只能去掉一些依賴系統資源和接口的功能,當用戶使用到這些屏蔽掉的功能時,則只能提示用戶受系統限制,不能使用。然而,存在部分用戶,其通過只支持ipa格式的渠道安裝應用程序,但是其設備已經獲取系統根權限時。在此種情形下,其本可以使用的功能沒有辦法使用到。若要使用還要單獨去其他應用程序發布渠道下載安裝。
【發明內容】
[0007]有鑒于此,有必要提供一種應用程序安裝方法及裝置,其可方便解決上述問題,而讓用戶能夠輕松擴展設備的功能。
[0008]一種應用程序安裝方法,包括:根據第一應用程序的安裝包執行第一應用程序的安裝操作,該第一應用程序的安裝包內包括至少一個資源文件,該資源文件的內容為第二應用程序的安裝包;在該第一應用程序被啟動之后加載適配服務,該適配服務檢測當前是否具有與該第二應用程序的安裝包匹配的權限;以及若具有權限則根據該第二應用程序的安裝包執行第二應用程序的操作。
[0009]一種應用程序安裝裝置,包括:第一應用安裝模塊,用于根據第一應用程序的安裝包執行第一應用程序的安裝操作,該第一應用程序的安裝包內包括至少一個資源文件,該資源文件的內容為第二應用程序的安裝包;適配模塊,用于在該第一應用程序被啟動之后加載適配服務,該適配服務檢測當前是否具有與該第二應用程序的安裝包匹配的權限;以及第二應用安裝模塊,用于若具有權限則根據該第二應用程序的安裝包執行第二應用程序的操作。
[0010]根據上述的應用程序安裝方法及裝置,第二應用程序的安裝包實質已經作為第一應用程序的資源文件而與第一應用程序的其他部分一并下載,因此可以動態地根據當前是否獲取匹配的系統權限而相應自動安裝第二應用程序。相應地,對于獲取系統權限的用戶,其不需要單獨從其他渠道再重新下應并安裝應用程序以獲取受限的功能。減少用戶安裝應用程序的時間以及提升應用程序安裝的便利性。
[0011]為讓本發明的上述和其他目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下。
【附圖說明】
[0012]圖1為一種電子裝置的結構框圖。
[0013]圖2為第一實施例提供的應用程序安裝方法流程圖。
[0014]圖3為第一實施例的應用程序安裝方法的示意圖。
[0015]圖4為第二實施例提供的應用程序安裝方法流程圖。
[0016]圖5為第三實施例提供的應用程序安裝方法流程圖。
[0017]圖6為第四實施例提供的應用程序安裝裝置的結構框圖。
[0018]圖7及圖8為第五實施例提供的應用程序安裝裝置的結構框圖。
[0019]圖9為第六實施例提供的應用程序安裝裝置的結構框圖。
【具體實施方式】
[0020]為更進一步闡述本發明為實現預定發明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據本發明的【具體實施方式】、結構、特征及其功效,詳細說明如后。
[0021]本發明實施例涉及一種應用程序安裝方法及裝置。其可用于電子裝置。上述的電子裝置的具體實例包括電腦、智能手機、平板電腦、智能手表、或者其他任意安裝有操作系統的電子裝置。該操作系統包含權限分級控制機制,而讓不同類型的應用程序具有不同的權限。
[0022]圖1示出了上述的電子裝置的一個實施例的結構框圖。如圖1所示,電子裝置100包括存儲器102、一個或多個(圖中僅示出一個)處理器104、以及顯示單元106。可以理解,圖1所示的結構僅為示意,電子裝置100還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現。
[0023]存儲器102可用于存儲應用程序以及模塊,如本發明實施例中的應用程序安裝方法及裝置對應的程序指令/模塊,處理器104通過運行存儲在存儲器102內的軟件程序以及模塊,從而執行各種功能應用以及數據處理,即實現上述的應用程序安裝方法。
[0024]存儲器102可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態存儲器。在一些實例中,存儲器102可進一步包括相對于處理器104遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至電子裝置100。上述網絡的實例包括但不限于互聯網、企業內部網、局域網、移動通信網及其組合。
[0025]顯示單元106在電子裝置100與用戶之間同時提供一個輸出及輸入界面。具體地,顯示單元106可為觸控屏幕,用于向用戶顯示可視化輸出,這些可視化輸出的內容可包括文字、圖形、視頻、及其任意組合。一些輸出結果是對應于一些用戶界面對象。顯示單元106還接收用戶的輸入,例如用戶的點擊、滑動等手勢操作,以便用戶界面對象對這些用戶的輸入做出響應。檢測用戶輸入的技術可以是基于電阻式、電容式或者其他任意可能的觸控檢測技術。顯示單元106顯示單元的具體實例包括但并不限于液晶顯示器或發光聚合物顯示器。
[0026]第一實施例
[0027]參閱圖2,本實施例提供一種應用程序安裝方法,包括以下步驟:
[0028]步驟S110、執行第一應用程序的安裝操作。
[0029]在1S操作系統中,ipa格式的應用程序安裝包(實質為zip格式的壓縮包)的安裝過程為:將安裝包解壓縮,并將解壓后的文件及目錄復制進/var/mobile/Applicat1ns目錄下。全部文件和目錄的所有者及用戶組均設為mobile(ID為501),主程序(可執行文件)的權限設為0755(所有人都可以執行,但只有所有者可以修改),可執行文件在plist中定義。全部目錄權限設為0755,而其它所有文件都設為0644 (僅所有者可以修改,其余人只允許讀取,全部人都不允許執行)。此外,ipa解包后并非直接放置于Applicat1ns目錄下,而是放在一串由隨機碼構成的目錄下,其作用在于,只允許這個軟件運行在一個特定的沙盒(Sandbox)中,不能干擾其他軟件。由于這個軟件只能在這個特定的目錄下運行,從而保證了整個系統的安全性和穩定性。
[0030]本實施例中,首先,可以從應用程序商店里獲取第一應用程序的安裝包。在第一應用程序中完全遵循1S系統的規范,其內并未實現依賴系統接口的功能。因此第一應程序的安裝包可以在官方的應用程序商店里進行發布。但第一應用程序的安裝包內應包括至少一個資源文件,至少一個資源文件的內容為第二應用程序的安裝包,例如deb格式的安裝包。第二應用程序中可實現依賴系統接口或權限的功能。可以理解,在完成第一應用程序的安裝