一種應用程序的安裝系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種應用程序的安裝系統(tǒng)及方法,應用程序的安裝系統(tǒng)應用于移動終端中的應用安裝進程,移動終端包括:一接收單元,用以接收應用程序安裝包;安裝系統(tǒng)包括:一指令生成單元,連接接收單元,用以根據應用程序安裝包生成一關聯于應用程序安裝包的提示指令;一解析單元,分別連接指令生成單元和接收單元,預設一解析名單,解析單元用以解析提示指令,識別與提示指令關聯的應用程序安裝包的包名是否在解析名單中,當應用程序安裝包的包名在解析名單中時,生成與應用程序安裝包關聯的靜默安裝指令,并輸出;一安裝管理單元,分別連接解析單元和接收單元,用以根據靜默安裝指令采用靜默安裝模式對應用程序安裝包進行安裝。
【專利說明】
_種應用程序的安裝系統(tǒng)及方法
技術領域
[0001]本發(fā)明涉及移動終端中,尤其涉及一種應用程序的安裝系統(tǒng)及方法。
【背景技術】
[0002]隨著移動互聯網的飛速發(fā)展,移動終端應用和系統(tǒng)越來越豐富,每個系統(tǒng)都有自己獨特之處,如阿里YunOS(是阿里巴巴集團旗下的一款智能設備操作系統(tǒng)產品,融合了阿里巴巴在云數據存儲、云計算服務以及智能設備操作系統(tǒng)等多領域的技術成果,并且可搭載于智能手機、智能機頂盒、互聯網電視等多種智能終端設備)以其較高的安全性著稱,蘑菇系統(tǒng)以其流暢性和集成應用豐富性著稱等等,這些系統(tǒng)相應集成了自己的應用,核心應用不允許卸載,當有新版本時提示更新,為方便用戶使用很多應用直接在后臺靜默安裝更新。
[0003]目前安卓系統(tǒng)提供的靜默安裝主要包括兩種,一種是通過不帶任何控件的活動(Activity)界面來安裝,給人一種在后臺靜默安裝的假象;另一種是在應用程序里通過模擬命令行執(zhí)行安裝命令的方式安裝。
[0004]對于不帶任何控件的Activity界面安裝方式容易安裝失敗,如果安裝時用戶操作了返回(back)鍵,隨即會取消安裝,而且需要被安裝的應用通過提示指令(Intent)來啟動靜默Activity界面,該靜默功能對應用有一定的依賴性;對于模擬命令行的方式需要顯式被安裝應用的絕對路徑,而且需要一個組件載體來啟動模擬命令,這種方法目前只停留在實驗階段。
[0005]目前還有一種是通過添加靜默安裝功能來實現靜默安裝的技術,但該技術具有局限性并不適用安卓6.0之后的版本,因為安卓6.0之后的版本安全性更高,對存儲設備上的安卓安裝包(APK)文件的解析需要進程屬于SD卡組,而系統(tǒng)進程不屬于SD卡組,安卓不允許將系統(tǒng)進程加入SD卡組,故不能對存儲設備上的APK文件進行解析,無法進行靜默安裝。
【發(fā)明內容】
[0006]針對現有的靜默安裝存在的上述問題,現提供一種旨在實現可適用于安卓系統(tǒng)且穩(wěn)定性好的應用程序的安裝系統(tǒng)及方法。
[0007]具體技術方案如下:
[0008]—種應用程序的安裝系統(tǒng),應用于移動終端中的應用安裝進程,所述移動終端包括:
[0009]—接收單元,用以接收應用程序安裝包;
[0010]所述安裝系統(tǒng)包括:
[0011 ] 一指令生成單元,連接所述接收單元,用以根據所述應用程序安裝包生成一關聯于所述應用程序安裝包的提示指令;
[0012]—解析單元,分別連接所述指令生成單元和所述接收單元,預設一解析名單,所述解析單元用以解析所述提示指令,識別與所述提示指令關聯的所述應用程序安裝包的包名是否在所述解析名單中,當所述應用程序安裝包的包名在所述解析名單中時,生成與所述應用程序安裝包關聯的靜默安裝指令,并輸出;
[0013]—安裝管理單元,分別連接所述解析單元和接收單元,用以根據所述靜默安裝指令采用靜默安裝模式對所述應用程序安裝包進行安裝。
[0014]優(yōu)選的,還包括:
[0015]—控制單元,所述解析單元通過所述控制單元連接所述指令生成單元,所述控制單元用以將所述提示指令發(fā)送至所述解析單元;
[0016]當所述應用程序安裝包的包名未在所述解析名單中時,所述解析單元生成返回提示指令,并將所述返回提示指令發(fā)送至所述控制單元;
[0017]所述控制單元接收到所述返回提示指令后,對所述應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過所述移動終端的顯示屏顯示所述權限解析安裝提示輸出。
[0018]優(yōu)選的,所述接收單元還用以接收用戶根據顯示于所述顯示屏的所述權限解析安裝提示輸入的與所述應用程序安裝包關聯的安裝指令;
[0019]所述安裝管理單元還用以根據所述用戶輸入的所述安裝指令采用正常安裝模式對與所述安裝指令關聯的所述應用程序安裝包進行安裝。
[0020]優(yōu)選的,所述提示指令包括關聯于所述提示指令的所述應用程序安裝包存儲的絕對路徑信息。
[0021 ]優(yōu)選的,所述解析名單通過標記語言保存于文本文件中,所述解析單元運行時,所述解析名單以字符串數組的方式加載到所述移動終端的內存中。
[0022]優(yōu)選的,所述解析單元包括:
[0023]一存儲模塊,用以存儲解析名單;
[0024]一解析模塊,用以解析所述提示指令,以獲取與所述提示指令關聯的所述應用程序安裝包的所述絕對路徑信息;
[0025]—提取模塊,連接所述解析模塊,用以根據所述絕對路徑信息提取相應的所述應用程序安裝包的所述包名;
[0026]—匹配模塊,分別連接所述存儲模塊和所述提取模塊,用以將所述包名與所述解析名單中的解析包名進行匹配,以獲取匹配結果;
[0027]—處理模塊,連接所述匹配模塊,當所述包名與所述解析名單中的所述解析包名匹配時,所述處理模塊用以生成與所述包名關聯的靜默安裝指令,或
[0028]當所述包名與所述解析名單中的所述解析包名不匹配時,所述處理模塊用以生成所述返回提示指令。
[0029]—種應用程序的安裝方法,應用于移動終端中的應用安裝進程,提供一解析名單,包括下述步驟:
[0030]S1.接收應用程序安裝包,并存儲所述應用程序安裝包;
[0031]S2.根據所述應用程序安裝包生成一關聯于所述應用程序安裝包的提示指令;
[0032]S3.解析所述提示指令,識別與所述提示指令關聯的所述應用程序安裝包的包名是否在所述解析名單中;
[0033]S4.當所述應用程序安裝包的包名在所述解析名單中時,生成與所述應用程序安裝包關聯的靜默安裝指令,并輸出;
[0034]S5.根據所述靜默安裝指令采用靜默安裝模式對所述應用程序安裝包進行安裝,結束。
[0035]優(yōu)選的,在執(zhí)行完所述步驟S3后,還包括:
[0036]Al.當所述應用程序安裝包的包名未在所述解析名單中時,生成返回提示指令,并輸出所述返回提示指令;
[0037]A2.對所述應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過所述移動終端的顯示屏顯示所述權限解析安裝提示輸出;
[0038]A3.當接收到用戶根據顯示于所述顯示屏的所述權限解析安裝提示輸入的與所述應用程序安裝包關聯的安裝指令時,采用正常安裝模式對與所述安裝指令關聯的所述應用程序安裝包進行安裝,結束。
[0039]優(yōu)選的,所述提示指令包括關聯于所述提示指令的所述應用程序安裝包存儲的絕對路徑信息。
[0040]優(yōu)選的,所述步驟S3包括:
[0041]S31.解析所述提示指令,以獲取與所述提示指令關聯的所述應用程序安裝包的所述絕對路徑信息;
[0042]S32.根據所述絕對路徑信息提取相應的所述應用程序安裝包的所述包名;
[0043]S33.將所述包名與所述解析名單中的解析包名進行匹配,以獲取匹配結果。
[0044]上述技術方案的有益效果:
[0045]I)應用程序的安裝系統(tǒng)通過解析單元對提示指令進行解析,以識別與該提示指令關聯的應用程序安裝包的包名是否在解析名單,若在,則啟用安裝管理單元對該應用程序安裝采用靜默模式安裝,可適用于安卓系統(tǒng),且穩(wěn)定性好;
[0046]2)應用程序的安裝方法采用的靜默安裝模式可適用于安卓6.0之后的版本,具有安裝效率高的優(yōu)點。
【附圖說明】
[0047]圖1為本發(fā)明所述的應用程序的安裝系統(tǒng)的一種實施例的模塊圖;
[0048]圖2為本發(fā)明所述的應用程序的安裝方法的一種實施例的方法流程圖;
[0049]圖3為本發(fā)明所述的應用程序的安裝方法的另一種實施例的方法流程圖。
【具體實施方式】
[0050]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0051]需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。
[0052]下面結合附圖和具體實施例對本發(fā)明作進一步說明,但不作為本發(fā)明的限定。
[0053]如圖1所示,一種應用程序的安裝系統(tǒng),應用于移動終端中的應用安裝進程,移動終端包括:
[0054]一接收單元丨,用以接收應用程序安裝包,并存儲應用程序安裝包;
[0055]安裝系統(tǒng)包括:
[0056]—指令生成單元3,連接接收單元I,用以根據應用程序安裝包生成一關聯于應用程序安裝包的提示指令;
[0057]—解析單元5,分別連接指令生成單元3和接收單元I,預設一解析名單,解析單元5用以解析提示指令,識別與提示指令關聯的應用程序安裝包的包名是否在解析名單中,當應用程序安裝包的包名在解析名單中時,生成與應用程序安裝包關聯的靜默安裝指令,并輸出;
[0058]一安裝管理單元2,分別連接解析單元5和接收單元I,用以根據靜默安裝指令采用靜默安裝模式對應用程序安裝包進行安裝。
[0059]在本實施例中,應用程序的安裝系統(tǒng)可嵌入于安卓系統(tǒng)中,可以是應用安裝進程中的服務,可用于讀取解析系統(tǒng)目錄下應用包的相關信息。通過解析單元5對提示指令進行解析,以識別與該提示指令關聯的應用程序安裝包的包名是否在解析名單,解析名單,即為靜默安裝白名單,當應用程序安裝包的包名在靜默安裝白名單中時,可啟用安裝管理單元2對該應用程序安裝采用靜默模式安裝,可提高安卓系統(tǒng)的處理效率且穩(wěn)定性好。
[0060]在優(yōu)選的實施例中,還包括:
[0061]—控制單元4,解析單元5通過控制單元4連接指令生成單元3,控制單元4用以將提示指令發(fā)送至解析單元5;
[0062]當應用程序安裝包的包名未在解析名單中時,解析單元5生成返回提示指令,并將返回提示指令發(fā)送至控制單元4;
[0063]控制單元4接收到返回提示指令后,對應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過移動終端的顯示屏顯示權限解析安裝提示輸出。
[0064]在本實施例中,當應用程序安裝包的包名不在靜默安裝白名單中時,則視為該應用程序安裝包不屬于可靜默安裝的應用程序,解析單元5生成返回提示指令,控制單元4可根據返回提示指令進行權限解析,以生成權限解析安裝提示,待用戶輸入安裝指令后,由安裝管理單元2采用正常安裝模式對該應用程序安裝包進行安裝。
[0065]在優(yōu)選的實施例中,接收單元I還用以接收用戶根據顯示于顯示屏的權限解析安裝提示輸入的與應用程序安裝包關聯的安裝指令;
[0066]安裝管理單元2還用以根據用戶輸入的安裝指令采用正常安裝模式對與安裝指令關聯的應用程序安裝包進行安裝。
[0067]在優(yōu)選的實施例中,提示指令包括關聯于提示指令的應用程序安裝包存儲的絕對路徑信息。
[0068]在本實施例中,可根據絕對路徑信息獲取應用程序安裝包的保存地址。
[0069]在優(yōu)選的實施例中,解析單元5包括:
[0070]一存儲模塊51,用以存儲解析名單;
[0071]—解析模塊54,用以解析提示指令,以獲取與提示指令關聯的應用程序安裝包的絕對路徑信息;
[0072]一提取模塊55,連接解析模塊54,用以根據絕對路徑信息提取相應的應用程序安裝包的包名;
[0073]一匹配模塊52,分別連接存儲模塊51和提取模塊55,用以將包名與解析名單中的解析包名進行匹配,以獲取匹配結果;
[0074]一處理模塊53,連接匹配模塊52,當包名與解析名單中的解析包名匹配時,處理模塊53用以生成與包名關聯的靜默安裝指令,或
[0075]當包名與解析名單中的解析包名不匹配時,處理模塊53用以生成返回提示指令。
[0076]優(yōu)選的,解析名單通過標記語言保存于文本文件中,如可以XML文件保存,解析單元5運行時,解析名單以字符串數組的方式加載到移動終端的內存中。
[0077]應用程序的安裝系統(tǒng)的安裝原理為:當接收單元I接收到最新版本的應用程序安裝包(Android Package,APK)后,由指令生成單元3根據該應用程序安裝包生成一提示指令(Intent),并發(fā)送至作為控制單元4形成的活動管理器(Activity Manager Service ,AMS),當控制單元4無法識別In tent時,則啟動作為解析單元5形成的調度器(Di spatcherService)并將Intent發(fā)送至解析單元5,對Intent進行解析,由于Intent中攜帶有待安裝的APK的絕對位置等相關信息。通過這些信息可找到APK的絕對路徑信息,通過解析模塊54中的包分析器(Package Parser)進行解析以獲取APK的包名及其他信息,通過匹配模塊52將APK的包名與靜默安裝白名單中的包名逐個進行匹配,若匹配成功,則表示該APK需要靜默安裝,由處理模塊53生成靜默安裝指令,并發(fā)送至安裝管理單元2,由安裝管理單元2中的安裝包驗證和加密(install Package With Verificat1n And Encrypt1n)接口進行靜默安裝;若匹配失敗,則表示該APK不需要靜默安裝,由處理模塊53生成返回提示指令(backintent)并發(fā)送至控制單元4,由AMS對返回提示指令進行解析通過查找需要啟動的ActivityInfο元數據,啟動安裝包安裝(Package Installer Activity)界面,并生成權限解析安裝提示,當用戶確認安裝后并輸入安裝指令后,由安裝管理單元2采用正常安裝模式對APK進行安裝。
[0078]如圖2所示,一種應用程序的安裝方法,應用于移動終端中的應用安裝進程,提供一解析名單,包括下述步驟:
[0079]S1.接收應用程序安裝包,并存儲應用程序安裝包;
[0080]S2.根據應用程序安裝包生成一關聯于應用程序安裝包的提示指令;
[0081]S3.解析提示指令,識別與提示指令關聯的應用程序安裝包的包名是否在解析名單中;
[0082]S4.當應用程序安裝包的包名在解析名單中時,生成與應用程序安裝包關聯的靜默安裝指令,并輸出;
[0083]S5.根據靜默安裝指令采用靜默安裝模式對應用程序安裝包進行安裝,結束。
[0084]在本實施例中,通過對提示指令進行解析,以識別與該提示指令關聯的應用程序安裝包的包名是否在解析名單,當應用程序安裝包的包名在解析名單時,則對該應用程序安裝采用靜默模式安裝,該方法可適用于安卓的所有版本,尤其是繞過了安卓6.0以后版本的權限識別的過程,安裝效率高,且沒有依賴性。
[0085]如圖3所示,在優(yōu)選的實施例中,在執(zhí)行完步驟S3后,還包括:
[0086]Al.當應用程序安裝包的包名未在解析名單中時,生成返回提示指令,并輸出返回提不指令;
[0087]A2.對應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過移動終端的顯示屏顯示權限解析安裝提示輸出;
[0088]A3.當接收到用戶根據顯示于顯示屏的權限解析安裝提示輸入的與應用程序安裝包關聯的安裝指令時,采用正常安裝模式對與安裝指令關聯的應用程序安裝包進行安裝,結束。
[0089]在本實施例中,當應用程序安裝包的包名不在靜默安裝白名單中時,則視為該應用程序安裝包不屬于可靜默安裝的應用程序,生成返回提示指令,根據返回提示指令進行權限解析,以生成權限解析安裝提示,待用戶輸入安裝指令后,采用正常安裝模式對該應用程序安裝包進行安裝。
[0090]在優(yōu)選的實施例中,提示指令包括關聯于提示指令的應用程序安裝包存儲的絕對路徑信息。
[0091 ]在本實施例中,可根據絕對路徑信息獲取應用程序安裝包的保存地址。
[0092]在優(yōu)選的實施例中,步驟S3包括:
[0093]S31.解析提示指令,以獲取與提示指令關聯的應用程序安裝包的絕對路徑信息;
[0094]S32.根據絕對路徑信息提取相應的應用程序安裝包的包名;
[0095]S33.將包名與解析名單中的解析包名進行匹配,以獲取匹配結果。
[0096]在本實施例中,通過對提示指令進行解析,以獲取應用程序安裝包的包名,將該報名與靜默安裝白名單的報名進行匹配,若匹配成功,則進行靜默安裝;若匹配失敗,則進行正常安裝。
[0097]以上所述僅為本發(fā)明較佳的實施例,并非因此限制本發(fā)明的實施方式及保護范圍,對于本領域技術人員而言,應當能夠意識到凡運用本發(fā)明說明書及圖示內容所作出的等同替換和顯而易見的變化所得到的方案,均應當包含在本發(fā)明的保護范圍內。
【主權項】
1.一種應用程序的安裝系統(tǒng),其特征在于,應用于移動終端中的應用安裝進程,所述移動終端包括: 一接收單元,用以接收應用程序安裝包; 所述安裝系統(tǒng)包括: 一指令生成單元,連接所述接收單元,用以根據所述應用程序安裝包生成一關聯于所述應用程序安裝包的提示指令; 一解析單元,分別連接所述指令生成單元和所述接收單元,預設一解析名單,所述解析單元用以解析所述提示指令,識別與所述提示指令關聯的所述應用程序安裝包的包名是否在所述解析名單中,當所述應用程序安裝包的包名在所述解析名單中時,生成與所述應用程序安裝包關聯的靜默安裝指令,并輸出; 一安裝管理單元,分別連接所述解析單元和接收單元,用以根據所述靜默安裝指令采用靜默安裝模式對所述應用程序安裝包進行安裝。2.如權利要求1所述的應用程序的安裝系統(tǒng),其特征在于,還包括: 一控制單元,所述解析單元通過所述控制單元連接所述指令生成單元,所述控制單元用以將所述提示指令發(fā)送至所述解析單元; 當所述應用程序安裝包的包名未在所述解析名單中時,所述解析單元生成返回提示指令,并將所述返回提示指令發(fā)送至所述控制單元; 所述控制單元接收到所述返回提示指令后,對所述應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過所述移動終端的顯示屏顯示所述權限解析安裝提示輸出。3.如權利要求2所述的應用程序的安裝系統(tǒng),其特征在于,所述接收單元還用以接收用戶根據顯示于所述顯示屏的所述權限解析安裝提示輸入的與所述應用程序安裝包關聯的安裝指令; 所述安裝管理單元還用以根據所述用戶輸入的所述安裝指令采用正常安裝模式對與所述安裝指令關聯的所述應用程序安裝包進行安裝。4.如權利要求2所述的應用程序的安裝系統(tǒng),其特征在于,所述提示指令包括關聯于所述提示指令的所述應用程序安裝包存儲的絕對路徑信息。5.如權利要求4所述的應用程序的安裝系統(tǒng),其特征在于,所述解析單元包括: 一存儲模塊,用以存儲解析名單; 一解析模塊,用以解析所述提示指令,以獲取與所述提示指令關聯的所述應用程序安裝包所述絕對路徑信息; 一提取模塊,連接所述解析模塊,用以根據所述絕對路徑信息提取相應的所述應用程序安裝包的所述包名; 一匹配模塊,分別連接所述存儲模塊和所述提取模塊,用以將所述包名與所述解析名單中的解析包名進行匹配,以獲取匹配結果; 一處理模塊,連接所述匹配模塊,當所述包名與所述解析名單中的所述解析包名匹配時,所述處理模塊用以生成與所述包名關聯的靜默安裝指令,或 當所述包名與所述解析名單中的所述解析包名不匹配時,所述處理模塊用以生成所述返回提示指令。6.如權利要求1所述的應用程序的安裝系統(tǒng),其特征在于,所述解析名單通過標記語言保存于文本文件中,所述解析單元運行時,所述解析名單以字符串數組的方式加載到所述移動終端的內存中。7.—種應用程序的安裝方法,其特征在于,應用于移動終端中的應用安裝進程,提供一解析名單,包括下述步驟: S1.接收應用程序安裝包,并存儲所述應用程序安裝包; S2.根據所述應用程序安裝包生成一關聯于所述應用程序安裝包的提示指令; S3.解析所述提示指令,識別與所述提示指令關聯的所述應用程序安裝包的包名是否在所述解析名單中; S4.當所述應用程序安裝包的包名在所述解析名單中時,生成與所述應用程序安裝包關聯的靜默安裝指令,并輸出; S5.根據所述靜默安裝指令采用靜默安裝模式對所述應用程序安裝包進行安裝,結束。8.如權利要求7所述的應用程序的安裝方法,其特征在于,在執(zhí)行完所述步驟S3后,還包括: Al.當所述應用程序安裝包的包名未在所述解析名單中時,生成返回提示指令,并輸出所述返回提示指令; A2.對所述應用程序安裝包進行權限解析,生成權限解析安裝提示,并通過所述移動終端的顯示屏顯示所述權限解析安裝提示輸出; A3.當接收到用戶根據顯示于所述顯示屏的所述權限解析安裝提示輸入的與所述應用程序安裝包關聯的安裝指令時,采用正常安裝模式對與所述安裝指令關聯的所述應用程序安裝包進行安裝,結束。9.如權利要求8所述的應用程序的安裝方法,其特征在于,所述提示指令包括關聯于所述提示指令的所述應用程序安裝包存儲的絕對路徑信息。10.如權利要求9所述的應用程序的安裝方法,其特征在于,所述步驟S3包括: S31.解析所述提示指令,以獲取與所述提示指令關聯的所述應用程序安裝包的所述絕對路徑信息; S32.根據所述絕對路徑信息提取相應的所述應用程序安裝包的所述包名; S33.將所述包名與所述解析名單中的解析包名進行匹配,以獲取匹配結果。
【文檔編號】G06F9/445GK105893082SQ201610183750
【公開日】2016年8月24日
【申請日】2016年3月28日
【發(fā)明人】鐘凡
【申請人】上海斐訊數據通信技術有限公司