新四季網

基於APK動態加載的Android插件化實現方法、裝置及交互方法

2023-10-29 12:57:12 3

基於APK動態加載的Android插件化實現方法、裝置及交互方法
【專利摘要】一種基於APK動態加載的Android插件化實現方法、裝置及交互方法,涉及移動網際網路【技術領域】,該裝置包括主程序模塊、代理器、至少一個插件;主程序模塊為APK文件,用於創建沙箱環境,在沙箱環境中啟動代理器,對插件的合法性進行校驗;插件為APK文件,用於執行具體的業務功能,分別運行於獨立的沙箱環境中;代理器用於生成Android系統中的主題管理器及資源管理器,執行插件的所有操作。本發明降低了對系統資源的消耗,為應用的運行提供穩定高效的環境,給用戶始終在使用同一個應用的體驗。
【專利說明】基於APK動態加載的Andro i d插件化實現方法、裝置及交互 方法

【技術領域】
[0001] 本發明涉及移動網際網路【技術領域】,具體來講是一種基於APK(AndroidPackage, Android安裝包)動態加載的Android插件化實現方法、裝置及交互方法。

【背景技術】
[0002] 隨著移動網際網路的快速發展,越來越多的行業將業務系統引入到移動網際網路終 端,受限於移動終端設備的電池電量、內存、CPU等資源短缺的因素,越發龐大的業務量使得 應用程式無法正常在移動終端上運行。因此,插件化方案的引入是很有必要的。通過插件 化方案將應用主框架和業務分離,在需要使用的時候加載業務插件即可。
[0003] 現有插件化方案是將插件應用做成屏蔽了應用啟動入口的獨立安裝包並安裝到 終端設備上,在主程序中通過Intent (意圖)調起插件程序。這種方案需要對每一個插件 進行安裝操作,且安裝操作均需用戶幹預方可完成,給用戶的感覺是在使用多個應用而不 是同一個應用,影響用戶體驗;且隨著啟動插件數量的增加,系統需要運行管理的應用數量 越來越多,大量佔用系統資源,影響系統正常運行。


【發明內容】

[0004] 針對現有技術中存在的缺陷,本發明的目的在於提供一種基於APK動態加載的 Android插件化實現方法、裝置及交互方法,本發明降低了對系統資源的消耗,為應用的運 行提供穩定高效的環境,給用戶始終在使用同一個應用的體驗。
[0005] 為達到以上目的,本發明採取的技術方案是:一種基於APK動態加載的Android插 件化實現裝置,包括主程序模塊、代理器、至少一個插件;主程序模塊為APK文件,用於創建 沙箱環境,在沙箱環境中啟動代理器,對插件的合法性進行校驗;插件為APK文件,用於執 行具體的業務功能,分別運行於獨立的沙箱環境中;代理器用於生成Android系統中的主 題管理器及資源管理器,執行插件的所有操作。
[0006] 在上述技術方案的基礎上,所述插件獨立安裝運行或者通過主程序模塊動態加載 運行。
[0007] 在上述技術方案的基礎上,所述插件使用統一的籤名規則進行籤名。
[0008] 基於上述裝置的基於APK動態加載的Andro id插件化實現方法,包括以下步驟:主 程序模塊在用戶的存儲設備上加載插件,並對插件的合法性進行校驗;主程序模塊創建沙 箱環境,並在沙箱環境中啟動代理器,為插件的運行提供獨立的沙箱環境;主程序模塊控制 代理器通過反射生成Android系統中的主題管理器及資源管理器;代理器通過反射調用插 件中的程序及其方法,啟動插件。
[0009] 在上述技術方案的基礎上,所述創建沙箱環境前,主程序模塊解析插件。
[0010] 在上述技術方案的基礎上,所述插件作為主程序模塊的一個文件隨主程序模塊一 起打包發布;且主程序模塊首次啟動時,在用戶的存儲設備上創建插件目錄,讀取主程序模 塊內部附帶的插件,並把插件添加至插件目錄。
[0011] 基於上述裝置的基於APK動態加載的Android插件化交互方法,包括主程序模塊 與外置伺服器的交互,其具體步驟為:主程序模塊啟動後從伺服器獲取當前應用列表數據; 伺服器提取應用列表數據並進行數據封裝;伺服器將封裝好的應用列表數據返回給主程序 模塊;主程序模塊向伺服器獲取插件並保存到用戶的存儲設備上;主程序模塊將已保存的 插件添加至插件目錄。
[0012] 在上述技術方案的基礎上,所述應用列表數據通過管理員在管理後臺配置。
[0013] 在上述技術方案的基礎上,所述伺服器用於提供應用列表數據管理及為主程序模 塊提供應用列表接口。
[0014] 本發明的有益效果在於:
[0015] 1、本發明的插件程序是在沙箱環境中運行的,插件隨沙箱的銷毀而退出,不會在 系統中增加運行應用數量,因此降低了對系統資源的消耗,為應用的運行提供穩定高效的 環境。
[0016] 2、本發明通過代理器啟動插件,插件程序無需安裝即可加載,避免了安裝過程,給 用戶始終在使用同一個應用的體驗。
[0017] 3、本發明中的主程序模塊與插件程序相分離,因此插件程序的更新不會對主程序 模塊產生影響,避免了一個業務更新需要更新整個應用的情況。
[0018] 4、本發明的插件使用統一的籤名機制,未使用統一籤名的插件應用無法通過主程 序模塊的合法性校驗,因此避免了非法插件的運行,具有較高的安全性。

【專利附圖】

【附圖說明】
[0019] 圖1為本發明實施例中基於APK動態加載的Android插件化實現方法的流程圖;
[0020] 圖2為本發明實施例中主程序模塊與伺服器交互的流程圖。

【具體實施方式】
[0021] 以下結合附圖及實施例對本發明作進一步詳細說明。
[0022] 一種基於APK動態加載的Android插件化實現裝置,包括主程序模塊、代理器、至 少一個插件;主程序模塊為APK文件,用於創建沙箱環境,在沙箱環境中啟動代理器,對插 件的合法性進行校驗;插件為APK文件,用於執行具體的業務功能,分別運行於獨立的沙箱 環境中;獨立安裝運行或者通過主程序模塊動態加載運行;所述插件使用統一的籤名規則 進行籤名。代理器用於為插件提供運行環境,生成Android系統中的主題管理器及資源管 理器,執行插件的所有操作。
[0023] 參見圖1所示,基於上述裝置的基於APK動態加載的Android插件化實現方法,包 括以下步驟:
[0024] 步驟S101.主程序模塊在用戶的存儲設備上創建插件目錄,主程序模塊讀取其應 用內部附帶的插件,並將該插件添加至插件目錄,從插件目錄中加載插件並對插件的合法 性進行校驗,其作用在於對未經安裝的插件執行初始化加載並校驗其合法性,確保通過主 程序模塊調起的插件均是合法應用,避免非法插件損害用戶權益。所述插件作為主程序模 塊的一個文件隨主程序模塊一起打包發布;且主程序模塊首次啟動時,在用戶的存儲設備 上創建插件目錄並把插件添加至插件目錄中,其作用在於移動插件至固定的插件目錄,便 於插件的加載管理。
[0025] 步驟S102.主程序模塊解析插件,其作用在於通過解析插件的配置文件,建立插 件的維護體系,確保插件能夠正常執行。
[0026] 步驟S103.創建沙箱環境,並在沙箱環境中啟動代理器,為插件的運行提供獨立 的沙箱環境,其作用在於建立一個插件運行的沙箱環境,為插件的運行提供獨立的運行沙 箱環境,避免影響主程序模塊及其他插件。
[0027] 步驟S104.主程序模塊控制代理器通過反射生成Android系統中的主題管理器及 資源管理器,其作用在於模擬系統啟動APK的方式通過反射調用系統方法建立插件應用的 主題管理器及資源管理器,為插件的主題及資源加載提供保障。
[0028] 步驟S105.代理器通過反射調用插件中的程序及其方法,啟動插件,其作用在於 通過反射機制啟動未安裝的插件,避免用戶對每個插件的安裝過程。同時,代理器在啟動插 件的同時會通過主題和資源管理器加載插件的資源,確保插件可以正常運行。
[0029] 參見圖2所示,基於APK動態加載的Android插件化交互方法,包括主程序模塊與 外置伺服器的交互,用於管理插件的網絡加載,方便進行版本升級控制,所述伺服器用於提 供應用列表數據管理及為主程序模塊提供應用列表接口。其具體步驟為:
[0030] 步驟S201.主程序模塊啟動後從伺服器獲取當前應用列表數據,所述應用列表數 據通過管理員在管理後臺配置。
[0031] 步驟S202.伺服器提取應用列表數據並進行數據封裝。
[0032] 步驟S203.伺服器將封裝好的應用列表數據返回給主程序模塊。
[0033] 步驟S204.主程序模塊發出插件下載請求,向伺服器獲取插件。
[0034] 步驟S205.伺服器返回插件給主程序模塊,主程序模塊接收插件保存到用戶的存 儲設備上。
[0035] 步驟S206.主程序模塊將已保存的插件添加至插件目錄。
[0036] 本發明不局限於上述實施方式,對於本【技術領域】的普通技術人員來說,在不脫離 本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護 範圍之內。本說明書中未作詳細描述的內容屬於本領域專業技術人員公知的現有技術。
【權利要求】
1. 一種基於APK動態加載的Android插件化實現裝置,其特徵在於:包括主程序模塊、 代理器、至少一個插件; 主程序模塊為APK文件,用於創建沙箱環境,在沙箱環境中啟動代理器,對插件的合法 性進行校驗; 插件為APK文件,用於執行具體的業務功能,分別運行於獨立的沙箱環境中; 代理器用於生成Android系統中的主題管理器及資源管理器,執行插件的所有操作。
2. 如權利要求1所述的基於APK動態加載的Android插件化實現裝置,其特徵在於: 所述插件獨立安裝運行或者通過主程序模塊動態加載運行。
3. 如權利要求1所述的基於APK動態加載的Android插件化實現裝置,其特徵在於: 所述插件使用統一的籤名規則進行籤名。
4. 基於權利要求1所述裝置的基於APK動態加載的Android插件化實現方法,其特徵 在於,包括以下步驟: 主程序模塊在用戶的存儲設備上加載插件,並對插件的合法性進行校驗; 主程序模塊創建沙箱環境,並在沙箱環境中啟動代理器,為插件的運行提供獨立的沙 箱環境; 主程序模塊控制代理器通過反射生成Android系統中的主題管理器及資源管理器; 代理器通過反射調用插件中的程序及其方法,啟動插件。
5. 如權利要求4所述的基於APK動態加載的Android插件化實現方法,其特徵在於,所 述創建沙箱環境前,主程序模塊解析插件。
6. 如權利要求4所述的基於APK動態加載的Android插件化實現方法,其特徵在於, 所述插件作為主程序模塊的一個文件隨主程序模塊一起打包發布;且主程序模塊首次啟動 時,在用戶的存儲設備上創建插件目錄,讀取主程序模塊內部附帶的插件,並把插件添加至 插件目錄。
7. 基於權利要求1所述裝置的基於APK動態加載的Android插件化交互方法,其特徵 在於,包括主程序模塊與外置伺服器的交互,其具體步驟為:主程序模塊啟動後從伺服器獲 取當前應用列表數據;伺服器提取應用列表數據並進行數據封裝;伺服器將封裝好的應用 列表數據返回給主程序模塊;主程序模塊向伺服器獲取插件並保存到用戶的存儲設備上; 主程序模塊將已保存的插件添加至插件目錄。
8. 如權利要求7所述的基於APK動態加載的Android插件化實現方法,其特徵在於: 所述應用列表數據通過管理員在管理後臺配置。
9. 如權利要求7所述的基於APK動態加載的Android插件化實現方法,其特徵在於: 所述伺服器用於提供應用列表數據管理及為主程序模塊提供應用列表接口。
【文檔編號】G06F21/53GK104216741SQ201410420786
【公開日】2014年12月17日 申請日期:2014年8月25日 優先權日:2014年8月25日
【發明者】王中玉, 金鑫 申請人:華中科技大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀