本公開涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種應(yīng)用安裝的控制方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)應(yīng)用的快速發(fā)展以及各種終端的快速普及,各種終端中應(yīng)用的安裝,可以通過連接的控制端實(shí)現(xiàn)。具體而言,通過控制端中運(yùn)行的應(yīng)用管理工具,能夠向所連接的終端實(shí)現(xiàn)應(yīng)用的安裝。
控制端中應(yīng)用管理工具向終端所請求進(jìn)行的應(yīng)用安裝,是通過在終端進(jìn)行自身與控制端的調(diào)試橋接實(shí)現(xiàn)的。而控制端中應(yīng)用管理工具與終端之間連接的實(shí)現(xiàn)過程為:首先通過調(diào)試橋接向終端安裝一假應(yīng)用,以此來確定終端是否已經(jīng)成功連接控制端,在確定終端已經(jīng)成功連接控制端之后,方能夠通過應(yīng)用管理工具實(shí)現(xiàn)終端中應(yīng)用的安裝。
具體的,通過與控制端的調(diào)試橋接,終端獲得這一假應(yīng)用所對應(yīng)的安裝命令,并在用戶確認(rèn)此應(yīng)用安裝之后,將安裝命令傳送至應(yīng)用安裝器。應(yīng)用安裝器對這一假應(yīng)用的安裝文件進(jìn)行輕量解析時(shí)會出錯(cuò),進(jìn)而使得假應(yīng)用的安裝被卡在應(yīng)用安裝器中。
此時(shí),應(yīng)用安裝器與實(shí)現(xiàn)調(diào)試橋接的調(diào)試橋接端運(yùn)行在不同的進(jìn)程中,調(diào)試橋接端并無法獲得安裝結(jié)果,并向控制端中的應(yīng)用管理工具返回。
對于應(yīng)用管理工具而言,由于沒有獲得安裝結(jié)果,也將導(dǎo)致了其連接終端的流程失敗,進(jìn)而無法通過應(yīng)用管理工具實(shí)現(xiàn)終端中應(yīng)用的安裝。
技術(shù)實(shí)現(xiàn)要素:
為了解決相關(guān)技術(shù)中在應(yīng)用管理工具連接終端的流程中,由于無法獲得應(yīng)用安裝結(jié)果而導(dǎo)致應(yīng)用管理工具連接終端的流程失敗的技術(shù)問題,本公開提供了一種應(yīng)用安裝的控制方法和裝置。
一種應(yīng)用安裝的控制方法,所述方法包括:
在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝;
對所述調(diào)試橋接端請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果;
在所述有效性判斷結(jié)果標(biāo)示所述安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果;
在所述有效性判斷結(jié)果標(biāo)示所述安裝文件有效時(shí),通過所述應(yīng)用安裝接口將所述應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝;
在所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝中,通過標(biāo)示所述應(yīng)用的安裝文件生成應(yīng)用安裝結(jié)果;
所述調(diào)試橋接端獲取所述應(yīng)用安裝結(jié)果,并向控制端中的應(yīng)用管理工具返回所述應(yīng)用安裝結(jié)果。
一種應(yīng)用安裝的控制裝置,包括:
攔截識別模塊,用于在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接請求進(jìn)行的應(yīng)用安裝;
有效性判斷模塊,用于對所述調(diào)試橋接請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果;
結(jié)果生成模塊,用于在所述有效性判斷結(jié)果標(biāo)示所述安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果;
安裝執(zhí)行模塊,用于在所述有效性判斷結(jié)果標(biāo)示所述安裝文件有效時(shí),通過所述應(yīng)用安裝接口將所述應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝;
文件標(biāo)示模塊,用于在所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝中,通過標(biāo)示所述應(yīng)用的安裝文件生成應(yīng)用安裝結(jié)果;
結(jié)果獲取模塊,用于所述調(diào)試橋接端獲取所述應(yīng)用安裝結(jié)果,并向控制端中的應(yīng)用管理工具返回所述應(yīng)用安裝結(jié)果。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
終端中觸發(fā)進(jìn)行應(yīng)用安裝之后,將獲取得到終端中觸發(fā)的應(yīng)用安裝命令,在應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別控制端中調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝,對調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝進(jìn)行安裝文件有效性關(guān)系,得到有效性判斷結(jié)果,在有效性判斷結(jié)果標(biāo)示安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果,由此對于應(yīng)用管理工具連接終端的流程而言,通過應(yīng)用安裝接口處應(yīng)用安裝命令的攔截,得以在應(yīng)用安裝器調(diào)用應(yīng)用安裝接口執(zhí)行應(yīng)用安裝過程之前,識別出控制端中調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝,進(jìn)而得到安裝失敗的應(yīng)用安裝結(jié)果,由于此應(yīng)用安裝結(jié)果是在應(yīng)用安裝接口得到的,并不處于應(yīng)用安裝器中,而在有效性判斷結(jié)果標(biāo)示安裝文件有效時(shí),通過應(yīng)用安裝接口將應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)應(yīng)用安裝器執(zhí)行所請求的應(yīng)用安裝,并在此安裝的執(zhí)行中通過標(biāo)示安裝文件來生成應(yīng)用安裝結(jié)果,由此,也提供了應(yīng)用管理工具連接終端的實(shí)現(xiàn)過程,進(jìn)而能夠通過應(yīng)用管理工具順利實(shí)現(xiàn)終端中應(yīng)用的安裝,因此,調(diào)試橋接端能夠向控制端中的應(yīng)用管理工具返回應(yīng)用安裝結(jié)果,成功進(jìn)行了應(yīng)用管理工具連接終端的流程,從而能夠通過應(yīng)用管理工具實(shí)現(xiàn)終端中應(yīng)用的安裝。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并于說明書一起用于解釋本發(fā)明的原理。
圖1是根據(jù)本公開所涉及的實(shí)施環(huán)境的示意圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種裝置的框圖
圖3是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制方法的流程圖;
圖4是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用安裝的控制方法的流程圖;
圖5是圖3對應(yīng)實(shí)施例的對在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝步驟進(jìn)行描述的流程圖;
圖6是圖3對應(yīng)實(shí)施例的對調(diào)試橋接端請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果步驟進(jìn)行描述的流程圖;
圖7是根據(jù)一示例性實(shí)施例示出的應(yīng)用安裝控制的簡要示意圖;
圖8是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制裝置的框圖;
圖9是根據(jù)另一示例性實(shí)施例示出的一種應(yīng)用安裝的控制裝置的框圖;
圖10是圖8對應(yīng)實(shí)施例中對攔截識別模塊的細(xì)節(jié)進(jìn)行描述的框圖;
圖11是圖8對應(yīng)實(shí)施例中對有效性判斷模塊的細(xì)節(jié)進(jìn)行描述的框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例執(zhí)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)本公開所涉及的實(shí)施環(huán)境的示意圖。該實(shí)施環(huán)境包括終端110和控制端130。
控制端130中運(yùn)行的應(yīng)用管理工具與終端110之間進(jìn)行二者之間往來的數(shù)據(jù)交互,進(jìn)而實(shí)現(xiàn)終端110中應(yīng)用的管理。
其中,終端110為各種智能終端,例如,智能手機(jī)、平板電腦、機(jī)頂盒等??刂贫?30通過與終端110的連接來實(shí)現(xiàn)其對終端110的操控。例如,控制端130可以是電腦等。
圖2是根據(jù)一示例性實(shí)施例示出的一種裝置200的框圖。例如,200可以是圖1所示實(shí)施環(huán)境中的終端110。
參照圖2,裝置200可以包括以下一個(gè)或多個(gè)組件:處理組件202,存儲器204,電源組件206,多媒體組件208,音頻組件210,傳感器組件214以及通信組件216。
處理組件202通常控制裝置200的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作以及記錄操作相關(guān)聯(lián)的操作等。處理組件202可以包括一個(gè)或多個(gè)處理器218來執(zhí)行指令,以完成下述的方法的全部或部分步驟。此外,處理組件202可以包括一個(gè)或多個(gè)模塊,便于處理組件202和其他組件之間的交互。例如,處理組件202可以包括多媒體模塊,以方便多媒體組件208和處理組件202之間的交互。
存儲器204被配置為存儲各種類型的數(shù)據(jù)以支持在裝置200的操作。這些數(shù)據(jù)的示例包括用于在裝置200上操作的任何應(yīng)用程序或方法的指令。存儲器204可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。存儲器204中還存儲有一個(gè)或多個(gè)模塊,該一個(gè)或多個(gè)模塊被配置成由該一個(gè)或多個(gè)處理器218執(zhí)行,以完成下述圖3、圖4、圖5和圖6任一所示方法中的全部或者部分步驟。
電源組件206為裝置200的各種組件提供電力。電源組件206可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置200生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件208包括在所述裝置200和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時(shí)間和壓力。屏幕還可以包括有機(jī)電致發(fā)光顯示器(OLED)。
音頻組件210被配置為輸出和/或輸入音頻信號。例如,音頻組件210包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置200處于操作模式,如呼叫模式、記錄模式和語音識別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進(jìn)一步存儲在存儲器204或經(jīng)由通信組件216發(fā)送。在一些實(shí)施例中,音頻組件210還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號。
傳感器組件214包括一個(gè)或多個(gè)傳感器,用于為裝置200提供各個(gè)方面的狀態(tài)評估。例如,傳感器組件214可以檢測到裝置200的打開/關(guān)閉狀態(tài),組件的相對定位,傳感器組件214還可以檢測裝置200或裝置200一個(gè)組件的位置改變以及裝置200的溫度變化。在一些實(shí)施例中,該傳感器組件214還可以包括磁傳感器,壓力傳感器或溫度傳感器。
通信組件216被配置為便于裝置200和其他設(shè)備之間有線或無線方式的通信。裝置200可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi。在一個(gè)示例性實(shí)施例中,通信組件216經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件216還包括近場通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置200可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行下述方法。
圖3是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制方法的流程圖。該應(yīng)用安裝的控制方法適用于圖1所示實(shí)施環(huán)境的終端110,該終端110在一個(gè)示例性實(shí)施例中可以是圖2所示的裝置。
如圖3所示,該應(yīng)用安裝的控制方法,可以在終端110中執(zhí)行,可以包括以下步驟。
在步驟310中,在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝。
其中,應(yīng)用安裝接口是應(yīng)用安裝器所提供的接口,應(yīng)用安裝器通過調(diào)用此接口來實(shí)現(xiàn)終端中應(yīng)用的安裝。終端中,所獲取的應(yīng)用安裝命令,經(jīng)由應(yīng)用安裝接口傳送至應(yīng)用安裝器中,進(jìn)而在應(yīng)用安裝器中為終端實(shí)現(xiàn)應(yīng)用的安裝。
終端將獲取得到應(yīng)用安裝命令,并將其傳送至應(yīng)用安裝接口,此時(shí)通過本公開所實(shí)現(xiàn)的應(yīng)用安裝控制,在應(yīng)用安裝接口處攔截此應(yīng)用安裝命令。
終端中獲取得到的應(yīng)用安裝命令,用于發(fā)起終端中應(yīng)用的安裝。應(yīng)用安裝命令包括調(diào)試橋接端為控制端中應(yīng)用管理工具傳送的應(yīng)用安裝命令,以及終端自身所觸發(fā)生成的應(yīng)用安裝命令。
也就是說,所獲取的終端中觸發(fā)的應(yīng)用安裝命令,可能是調(diào)試橋接端請求的,也可能是終端自身觸發(fā)生成的。
因此,在應(yīng)用安裝接口處攔截得到應(yīng)用安裝命令之后,需要對應(yīng)用安裝命令進(jìn)行識別,以識別出調(diào)試橋接端傳送的應(yīng)用安裝命令,此應(yīng)用安裝命令所對應(yīng)的應(yīng)用安裝過程即為控制端中應(yīng)用管理工具通過調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝過程。
在此,可以理解的,本公開將用于對調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝過程實(shí)現(xiàn)控制。
終端中的調(diào)試橋接端用于實(shí)現(xiàn)終端自身與控制端之間的調(diào)試橋接??刂贫酥械膽?yīng)用管理工具首先通過終端中的調(diào)試橋接端命令安裝應(yīng)用,此時(shí),終端中,調(diào)試橋接端將接收到應(yīng)用管理工具所傳送的應(yīng)用安裝命令,進(jìn)而請求進(jìn)行相應(yīng)的應(yīng)用安裝。
在步驟330中,對調(diào)試橋接端請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果。
其中,所請求進(jìn)行的應(yīng)用安裝,均有對應(yīng)的安裝文件,該安裝文件在Android終端中是以APK(AndroidPackage,Adroid安裝包)形式存在的。在通過前述步驟310識別出當(dāng)前所請求進(jìn)行的應(yīng)用安裝是控制端中應(yīng)用管理工具請求進(jìn)行的,則對相應(yīng)的安裝文件進(jìn)行有效性判斷,確認(rèn)相應(yīng)的安裝文件是否為有效文件。
通過所進(jìn)行的有效性判斷而得到的有效性判斷結(jié)果,標(biāo)示了安裝文件有效或者無效。
例如,對于控制端中應(yīng)用管理工具連接終端的流程而言,通過進(jìn)行的有效性判斷,將判斷得到出假應(yīng)用對應(yīng)的安裝文件是無效的,即得到標(biāo)示安裝文件無效的有效性判斷結(jié)果。
在步驟350中,在有效性判斷結(jié)果標(biāo)示安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果。
其中,有效性判斷結(jié)果標(biāo)示安裝文件無效時(shí),如果繼續(xù)進(jìn)行應(yīng)用的安裝,則必將出現(xiàn)安裝失敗的應(yīng)用安裝結(jié)果?;诖?,在有效性判斷結(jié)果標(biāo)示安裝文件無效時(shí),便在應(yīng)用安裝接口處生成安裝失敗的應(yīng)用安裝結(jié)果。
由此對于控制端中應(yīng)用管理工具連接終端的流程而言,在應(yīng)用安裝接口處即可得到安裝失敗的應(yīng)用安裝結(jié)果,進(jìn)而不再卡在應(yīng)用安裝器中,即應(yīng)用管理工具實(shí)現(xiàn)與終端連接的流程不再堵在應(yīng)用安裝中,無法使得實(shí)現(xiàn)應(yīng)用管理工具向終端安裝應(yīng)用的調(diào)試橋接端能夠獲知。
具體而言,在終端中調(diào)試橋接端的配合下,發(fā)起控制端中應(yīng)用管理工具向終端所進(jìn)行的應(yīng)用安裝,并通過終端中應(yīng)用安裝器來實(shí)現(xiàn)應(yīng)用的安裝。
如前所述的,調(diào)試橋接端和應(yīng)用安裝器運(yùn)行于不同的進(jìn)程中,因此,調(diào)試橋接端無法得到安裝失敗的安裝結(jié)果。
而在應(yīng)用安裝接口處生成的安裝失敗的應(yīng)用安裝結(jié)果,調(diào)試橋接端可以直接獲得。
在此需要補(bǔ)充說明的是,調(diào)試橋接端,即為adb(Android Debug Bridge,Android調(diào)試橋接器),將起到調(diào)試橋的作用,用于運(yùn)行所在設(shè)備,即終端的Shell(命令行)。
控制端中應(yīng)用管理工具向終端進(jìn)行應(yīng)用安裝而生成的應(yīng)用安裝命令,是通過調(diào)試橋接端實(shí)現(xiàn)應(yīng)用管理工具向終端的傳送的。
而對于后續(xù)所進(jìn)行的應(yīng)用安裝結(jié)果向控制端中應(yīng)用管理工具的返回,也是通過調(diào)試橋接端實(shí)現(xiàn)的。
通過如上所述的過程,可以知道,在終端中進(jìn)行應(yīng)用的安裝時(shí),將在終端的應(yīng)用安裝接口進(jìn)行應(yīng)用安裝命令的攔截,識別出調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝,對于調(diào)試橋接端請求的應(yīng)用安裝,進(jìn)行安裝文件有效性判斷,在安裝文件無效時(shí)生成安裝失敗的應(yīng)用安裝結(jié)果,進(jìn)而使得應(yīng)用管理工具能夠獲得應(yīng)用安裝結(jié)果,對于以獲得應(yīng)用安裝結(jié)果來確認(rèn)與終端之間建立連接的控制端中應(yīng)用管理工具而言,通過本公開所實(shí)現(xiàn)應(yīng)用安裝控制,能夠?qū)崿F(xiàn)與終端之間的連接,從而在此基礎(chǔ)上實(shí)現(xiàn)應(yīng)用管理工具向終端所進(jìn)行的應(yīng)用安裝,因此,解決了應(yīng)用管理工具無法通過終端中的調(diào)試橋接端安裝應(yīng)用的問題。
在步驟370中,在有效性判斷結(jié)果標(biāo)示安裝文件有效時(shí),通過應(yīng)用安裝接口將應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)應(yīng)用安裝器執(zhí)行請求的應(yīng)用安裝。
其中,在通過有效性判斷確認(rèn)安裝文件有效之后,即可確認(rèn)當(dāng)前調(diào)試橋接端請求的應(yīng)用安裝是真實(shí)的應(yīng)用安裝過程,而并非執(zhí)行控制端中應(yīng)用管理工具連接終端的流程,此時(shí),直接通過應(yīng)用安裝器實(shí)現(xiàn)應(yīng)用安裝即可。
由此,結(jié)合如上所述的過程,為控制端中應(yīng)用管理工具向終端所進(jìn)行的應(yīng)用安裝,提供了應(yīng)用管理工具連接終端的實(shí)現(xiàn)過程,也提供了應(yīng)用管理工具通過其與終端的連接,向終端安裝應(yīng)用的實(shí)現(xiàn)過程,進(jìn)而能夠通過應(yīng)用管理工具順利實(shí)現(xiàn)終端中應(yīng)用的安裝。
對于本公開所實(shí)現(xiàn)的應(yīng)用安裝的控制方法,其在Android終端中的具體實(shí)現(xiàn)中,調(diào)試橋接端添加了對應(yīng)用管理工具向終端的應(yīng)用安裝進(jìn)行控制的策略。
Android終端中,通過調(diào)試橋接端使得用戶能夠通過電腦等控制端實(shí)現(xiàn)Android終端中的應(yīng)用安裝,這在方便了用戶的同時(shí),也會給一些不良應(yīng)用提供了便利機(jī)會。
比如,在用戶不知情的情況下,一些不良應(yīng)用偷偷安裝至Android終端中,給用戶造成諸多不便或困擾。
因此,調(diào)試橋接端添加了對應(yīng)用管理工具向終端的應(yīng)用安裝進(jìn)行控制的策略,即在應(yīng)用管理工具向終端安裝應(yīng)用時(shí),需要向用戶明確控制端對Android終端進(jìn)行什么操作,得到用戶確認(rèn)之后才能夠安裝。
因此,結(jié)合如上所述的過程,在實(shí)現(xiàn)了安裝文件的有效性判斷之后,在有效性判斷結(jié)果標(biāo)示安裝文件有效時(shí)應(yīng)用安裝器將會提示用戶是否確認(rèn)此應(yīng)用安裝。
進(jìn)而在用戶確認(rèn)此應(yīng)用安裝之后,應(yīng)用安裝器方可執(zhí)行調(diào)試橋接端請求的應(yīng)用安裝。
在步驟380中,在應(yīng)用安裝器執(zhí)行請求的應(yīng)用安裝中,通過標(biāo)示應(yīng)用的安裝文件生成應(yīng)用安裝結(jié)果。
其中,在應(yīng)用安裝器調(diào)用應(yīng)用安裝接口進(jìn)行應(yīng)用安裝的過程中,將對安裝文件進(jìn)行標(biāo)示,即標(biāo)示此安裝文件是從調(diào)試橋接端請求的安裝文件,以便于向應(yīng)用管理工具返回應(yīng)用安裝結(jié)果。
在步驟390中,調(diào)試橋接端獲取應(yīng)用安裝結(jié)果,并向控制端的應(yīng)用管理工具返回應(yīng)用安裝結(jié)果。
其中,應(yīng)用安裝接口處生成的安裝失敗的應(yīng)用安裝結(jié)果,通過終端中的橋接調(diào)試端,將向控制端的應(yīng)用管理工具返回。
圖4是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制方法的流程圖。步驟310之前,該應(yīng)用安裝的控制方法,如圖4所示,可以包括以下步驟。
在步驟410中,通過終端自身與控制端之間進(jìn)行的調(diào)試橋接,調(diào)試橋接端接收控制端中應(yīng)用管理工具傳送的應(yīng)用安裝命令。
其中,控制端中應(yīng)用管理工具觸發(fā)進(jìn)行終端中應(yīng)用的安裝,一方面,此應(yīng)用的安裝,是應(yīng)用管理工具為實(shí)現(xiàn)與終端的連接而發(fā)起的假應(yīng)用安裝;另一方面,則是應(yīng)用管理工具在實(shí)現(xiàn)與終端連接之后真正發(fā)起的應(yīng)用安裝。
無論何種應(yīng)用安裝,控制端中的應(yīng)用管理工具都將向終端傳送應(yīng)用安裝命令,此時(shí),終端將通過自身的調(diào)試橋接端接收。
在步驟430中,通過調(diào)試橋接端進(jìn)行的應(yīng)用安裝接口調(diào)用,將應(yīng)用安裝命令傳送至應(yīng)用安裝接口。
其中,通過調(diào)試橋接端運(yùn)行終端的Shell線程,進(jìn)而通過Shell線程調(diào)用應(yīng)用安裝接口,以將應(yīng)用安裝命令傳送至應(yīng)用安裝接口。
通過如上所述的過程,為終端中應(yīng)用安裝的發(fā)起提供了具體實(shí)現(xiàn),進(jìn)而結(jié)合圖3對應(yīng)的實(shí)施例,即可實(shí)現(xiàn)應(yīng)用管理工具與終端的連接,以及通過此連接,實(shí)現(xiàn)應(yīng)用管理工具向終端安裝應(yīng)用的過程,進(jìn)而解決了控制端中應(yīng)用管理工具與調(diào)試橋接端之間的沖突。
圖5是根據(jù)一示例性實(shí)施例示出的對步驟310的細(xì)節(jié)進(jìn)行的描述。該步驟310,如圖5所示,可以包括以下步驟。
在步驟311中,在應(yīng)用安裝接口處攔截應(yīng)用安裝命令。
其中,對于傳送至應(yīng)用安裝接口的應(yīng)用安裝命令,均進(jìn)行攔截,由此即可攔截得到終端中所有應(yīng)用安裝命令,而使其不會被直接傳送至應(yīng)用安裝器。
在步驟313中,確定根據(jù)應(yīng)用安裝命令調(diào)用應(yīng)用安裝接口的線程。
其中,如前所述的,在攔截得到應(yīng)用安裝命令之后,將識別出調(diào)試橋接端所請求的應(yīng)用安裝命令,此識別過程根據(jù)調(diào)用應(yīng)用安裝接口的線程實(shí)現(xiàn)的。
終端中,調(diào)試橋接端通過運(yùn)行Shell線程來進(jìn)行應(yīng)用安裝接口的調(diào)試,進(jìn)而將接收的應(yīng)用安裝命令傳送至應(yīng)用安裝接口。
因此,與之相對應(yīng)的,對于識別出調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝而言,只需要確認(rèn)調(diào)用應(yīng)用安裝接口是Shell,即可確定對應(yīng)的應(yīng)用安裝命令是調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝。
基于此,在應(yīng)用安裝接口處攔截得到應(yīng)用安裝命令之后,確定根據(jù)此應(yīng)用安裝命令調(diào)用應(yīng)用安裝接口的線程。
在步驟315中,根據(jù)線程對應(yīng)的名稱識別出調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝。
其中,對于根據(jù)應(yīng)用安裝命令調(diào)用應(yīng)用安裝接口的線程,將確定其所對應(yīng)的名稱,在此名稱是Shell時(shí),即可確定當(dāng)前所請求進(jìn)行的應(yīng)用安裝是調(diào)試橋接端請求進(jìn)行的。
通過如上所述的過程,為圖3對應(yīng)實(shí)施例所進(jìn)行的應(yīng)用安裝識別提供了具體實(shí)現(xiàn)過程,進(jìn)而通過此簡易的具體實(shí)現(xiàn)過程,為圖3對應(yīng)實(shí)施例所實(shí)現(xiàn)的應(yīng)用安裝控制進(jìn)一步提高了效率。
圖6是根據(jù)一示例性實(shí)施例示出的對步驟330的細(xì)節(jié)進(jìn)行的描述。該步驟330,如圖6所示,可以包括以下步驟。
在步驟331中,連接終端中系統(tǒng)預(yù)置的軟件包訪問服務(wù)。
其中,軟件包訪問服務(wù),即為DefaultContainerService服務(wù),在DefaultContainerService服務(wù)中判斷安裝文件的有效性。
對于Android終端而言,按照其安全策略,在應(yīng)用安裝的進(jìn)程中,是無權(quán)限讀寫安裝文件的,而僅有DefaultContainerService服務(wù)有權(quán)限,因此,需要連接系統(tǒng)所預(yù)置的DefaultContainerService服務(wù)。
在步驟333中,通過軟件包訪問服務(wù)讀取調(diào)試橋接端請求進(jìn)行應(yīng)用安裝所對應(yīng)的安裝文件,以判斷安裝文件是否是有效的,并相應(yīng)生成有效性判斷結(jié)果。
其中,在軟件包訪問服務(wù)中讀取安裝文件,以判斷其是否是真正的安裝文件,在判斷到安裝文件是有效的之后,相應(yīng)生成標(biāo)示此安裝文件有效的有效性判斷結(jié)果;在判斷到安裝文件是無效的之后,相應(yīng)生成標(biāo)示此安裝文件無效的有效性判斷結(jié)果。
由于是對調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝進(jìn)行安裝文件的有效性判斷,因此,在對應(yīng)于控制端中應(yīng)用管理工具連接終端的流程時(shí),由于是進(jìn)行假應(yīng)用安裝,其安裝文件是無效的,此時(shí),將生成標(biāo)示安裝文件無效的有效性判斷結(jié)果。
而對于控制端中應(yīng)用管理工具真正通過調(diào)試橋接端進(jìn)行終端中應(yīng)用安裝的過程,則相應(yīng)生成標(biāo)示安裝文件有效的有效性判斷結(jié)果。
在一個(gè)示例性實(shí)施例中,還將在此有效性判斷結(jié)果中標(biāo)示此安裝文件是對應(yīng)于調(diào)試橋接端的,以便于向應(yīng)用管理工具返回最終的應(yīng)用安裝結(jié)果。
在一個(gè)示例性實(shí)施例中,對于所進(jìn)行的安裝文件有效性判斷,則可以通過以下兩種方式實(shí)現(xiàn):
(1)用于標(biāo)示安裝文件的是路徑,則可以直接判斷安裝文件中是否具文件,在判斷得到安裝文件中具有文件時(shí),輸出標(biāo)示安裝文件有效的有效性判斷結(jié)果。
(2)用于標(biāo)示安裝文件的是URL(Uniform Resoure Locator,統(tǒng)一資源定位符),則將此URL添加至系統(tǒng)預(yù)置的assertManager,如果添加成功,則說明作為資源文件的安裝文件成功被訪問,是有效的安裝文件。
其中,assertManager是系統(tǒng)中預(yù)置的一資源管理器,其可通過URL實(shí)現(xiàn)資源文件的讀取,因此,能夠用于實(shí)現(xiàn)安裝文件的有效性判斷。
根據(jù)本公開所提供的應(yīng)用安裝的控制方法,可以理解的,控制端中應(yīng)用管理工具向終端所進(jìn)行的應(yīng)用安裝,可以通過圖7所示的應(yīng)用安裝控制的簡要示意來實(shí)現(xiàn)。
應(yīng)用管理工具610通過終端中的調(diào)試橋接端630實(shí)現(xiàn)其與終端的連接,即通過步驟650至步驟670所示的過程實(shí)現(xiàn)。
在此基礎(chǔ)上,也將通過步驟650至步驟670實(shí)現(xiàn)應(yīng)用管理工具610向終端630所進(jìn)行的應(yīng)用安裝。
通過此過程,使得應(yīng)用管理工具610向終端630進(jìn)行的應(yīng)用安裝,一方面由于是經(jīng)由用戶確認(rèn)的,因此,得到了安全性保證,另一方面,使得調(diào)試橋接端能夠與控制端中應(yīng)用管理工具610中特殊的連接方式相適應(yīng),進(jìn)而實(shí)現(xiàn)連接以及應(yīng)用安裝。
下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開上述終端110執(zhí)行的應(yīng)用安裝的控制方法實(shí)施例。對于本公開裝置實(shí)施例中未披露的細(xì)節(jié),請參照本公開應(yīng)用安裝的控制方法實(shí)施例。
圖8是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制裝置的框圖。該應(yīng)用安裝的控制裝置,可以用于圖1所示實(shí)施環(huán)境中終端110,執(zhí)行圖3所示的應(yīng)用安裝的控制方法的全部步驟。如圖8所示,該應(yīng)用安裝的控制裝置,包括但不限于:攔截識別模塊710、有效性判斷模塊730、結(jié)果生成模塊750、安裝執(zhí)行模塊760、文件標(biāo)示模塊770和結(jié)果獲取模塊780。
攔截識別模塊710,用于在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接請求進(jìn)行的應(yīng)用安裝。
有效性判斷模塊730,用于對調(diào)試橋接請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果。
結(jié)果生成模塊750,用于在有效性判斷結(jié)果標(biāo)示安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果。
安裝執(zhí)行模塊760,用于在有效性判斷結(jié)果標(biāo)示安裝文件有效時(shí),通過應(yīng)用安裝接口將應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)應(yīng)用安裝器執(zhí)行請求的應(yīng)用安裝。
文件標(biāo)示模塊770,用于在應(yīng)用安裝器執(zhí)行請求的應(yīng)用安裝中,通過標(biāo)示應(yīng)用的安裝文件生成應(yīng)用安裝結(jié)果。
結(jié)果獲取模塊780,用于調(diào)試橋接端獲取應(yīng)用安裝結(jié)果,并向控制端中的應(yīng)用管理工具返回應(yīng)用安裝結(jié)果。
圖9是根據(jù)一示例性實(shí)施例示出的一種應(yīng)用安裝的控制裝置。該應(yīng)用安裝的控制裝置,如圖9所示,包括但不限于:命令接收模塊810和命令傳送模塊830。
命令接收模塊810,用于通過終端自身與控制端之間進(jìn)行的調(diào)試橋接,調(diào)試橋接端接收控制端中應(yīng)用管理工具傳送的應(yīng)用安裝命令。
命令傳送模塊830,用于通過調(diào)試橋接端時(shí)行的應(yīng)用安裝接口調(diào)用,將應(yīng)用安裝命令傳送至應(yīng)用安裝接口。
圖10是根據(jù)一示例性實(shí)施例對攔截識別模塊710的細(xì)節(jié)進(jìn)行的描述。該攔截識別模塊710,如圖10所示,包括但不限于:命令攔截子模塊711、線程確定子模塊713和請求識別子模塊715。
命令攔截子模塊711,用于在應(yīng)用安裝接口處攔截應(yīng)用安裝命令。
線程確定子模塊713,用于確定根據(jù)應(yīng)用安裝命令調(diào)用應(yīng)用安裝接口的線程。
請求識別子模塊715,用于根據(jù)線程對應(yīng)的名稱識別出調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝。
圖11是根據(jù)一示例性實(shí)施例對有效性判斷模塊730的細(xì)節(jié)進(jìn)行的描述。該有效性判斷模塊730,如圖11所示,包括但不限于:服務(wù)連接子模塊731和文件有效性判斷子模塊733。
服務(wù)連接子模塊731,用于連接終端中系統(tǒng)預(yù)置的軟件包訪問服務(wù)。
文件有效性判斷子模塊733,用于通過軟件包訪問服務(wù)讀取調(diào)試橋接端請求進(jìn)行應(yīng)用安裝所對應(yīng)的安裝文件,以判斷安裝文件是否是有效的,并相應(yīng)生成有效性判斷結(jié)果。
可選的,本公開還提供一種終端,該終端可以用于圖1所示實(shí)施環(huán)境中,執(zhí)行圖3、圖4、圖5和圖6任一所示的應(yīng)用安裝的控制方法的全部或者部分步驟。所述裝置包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為執(zhí)行:
在終端的應(yīng)用安裝接口攔截應(yīng)用安裝命令,識別調(diào)試橋接端請求進(jìn)行的應(yīng)用安裝;
對所述調(diào)試橋接端請求的應(yīng)用安裝進(jìn)行安裝文件有效性判斷,得到有效性判斷結(jié)果;
在所述有效性判斷結(jié)果標(biāo)示所述安裝文件無效時(shí),生成安裝失敗的應(yīng)用安裝結(jié)果;
在所述有效性判斷結(jié)果標(biāo)示所述安裝文件有效時(shí),通過所述應(yīng)用安裝接口將所述應(yīng)用安裝命令傳送至應(yīng)用安裝器,觸發(fā)所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝;
在所述應(yīng)用安裝器執(zhí)行所述請求的應(yīng)用安裝中,通過標(biāo)示所述應(yīng)用的安裝文件生成應(yīng)用安裝結(jié)果;
所述調(diào)試橋接端獲取所述應(yīng)用安裝結(jié)果,并向控制端中的應(yīng)用管理工具返回所述應(yīng)用安裝結(jié)果。
該實(shí)施例中的裝置的處理器執(zhí)行操作的具體方式已經(jīng)在有關(guān)該應(yīng)用安裝的控制方法的實(shí)施例中執(zhí)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
在示例性實(shí)施例中,還提供了一種存儲介質(zhì),該存儲介質(zhì)為計(jì)算機(jī)可讀存儲介質(zhì),例如可以為包括指令的臨時(shí)性和非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì)。該存儲介指例如包括指令的存儲器204,上述指令可由裝置200的處理器218執(zhí)行以完成上述應(yīng)用安裝的控制方法。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。