亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng)的制作方法

文檔序號(hào):9750585閱讀:1064來源:國(guó)知局
一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能終端技術(shù)領(lǐng)域,尤其涉及的是一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前基于Android開發(fā)的應(yīng)用,當(dāng)需要實(shí)現(xiàn)新的功能時(shí),一般是通過在原版本基礎(chǔ)上,進(jìn)行新功能模塊的開發(fā),待新功能模塊開發(fā)完畢,通過升級(jí)方式替換掉系統(tǒng)中原版本,進(jìn)而再運(yùn)行新版本。然而這種方式一般是通過重啟設(shè)備,從云端下載新版本應(yīng)用,替換原版本來實(shí)現(xiàn),若不重啟設(shè)備就無法更換原版本中功能模塊。
[0003]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0004]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中搭載安卓系統(tǒng)的智能終端從云端下載新版本應(yīng)用,替換原版本來實(shí)現(xiàn),若不重啟設(shè)備就無法更換原版本中功能模塊的缺陷。
[0005]本發(fā)明的技術(shù)方案如下:
一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述方法包括以下步驟:
A、智能終端綁定OSGI框架的服務(wù)后,從云端服務(wù)器中獲取配置文件的版本號(hào),并與智能終端本地配置文件的版本號(hào)進(jìn)行比較;
B、當(dāng)智能終端本地配置文件的版本號(hào)低于從云端服務(wù)器中獲取配置文件的版本號(hào),則從云端下載配置文件;
C、解析配置文件,并執(zhí)行與配置文件相對(duì)應(yīng)的動(dòng)態(tài)加載任務(wù)。
[0006]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述配置文件包括動(dòng)作、bundle文件包名、bundle文件載體包名及bundle文件下載url。
[0007]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述動(dòng)態(tài)加載任務(wù)包括加載模塊、更新模塊及卸載模塊。
[0008]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述步驟C具體包括:
C201、解析配置文件,判斷配置文件對(duì)應(yīng)加載模塊的動(dòng)態(tài)加載任務(wù)時(shí),則從bundle文件的數(shù)據(jù)庫(kù)中查詢是否存在與該bundle文件的載體包名相同的bundle文件,當(dāng)存在時(shí)則執(zhí)行步驟C202,當(dāng)不存在時(shí)則執(zhí)行步驟C204;
C202、從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bundle文件的載體包名相對(duì)應(yīng)的bundle ID; C203、調(diào)用安裝程序安裝bundle文件;
C204、從云端服務(wù)器獲取bundle文件url,并下載;
C205、判斷從云端服務(wù)器下載的文件是否為bundle文件,當(dāng)是時(shí)則執(zhí)行步驟C206,當(dāng)否時(shí)則執(zhí)行步驟C207;
C206、驗(yàn)證下載的bundle文件的包名與配置文件中bundle文件的包名是否一致,當(dāng)一致時(shí)則執(zhí)行步驟C209,當(dāng)不一致時(shí)則執(zhí)行步驟C212;
C207、判斷從云端服務(wù)器下載的文件是否為apk文件,當(dāng)是時(shí)則執(zhí)行步驟C208,當(dāng)否時(shí)則執(zhí)行步驟C212;
C208、從apk文件中獲取jar文件,并添加指定元數(shù)據(jù)后轉(zhuǎn)化為bundle文件;
C209、啟動(dòng)安裝程序及start進(jìn)程;
C210、獲取該bundle文件的bundle ID;
C211、根據(jù)bundle ID更新bundle文件的數(shù)據(jù)庫(kù);
C212、結(jié)束進(jìn)程。
[0009]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述步驟C具體包括:
C301、解析配置文件,判斷配置文件對(duì)應(yīng)更新模塊的動(dòng)態(tài)加載任務(wù)時(shí),則從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bund I e文件的載體包名相同的bund I e文件;
C302、從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bundle文件相對(duì)應(yīng)的bundle ID;
C303、啟動(dòng)卸載程序的進(jìn)程;
C304、根據(jù)bundle ID更新bundle文件的數(shù)據(jù)庫(kù);
C305、從云端服務(wù)器獲取該bundle文件的url,并下載;
C306、判斷下載的文件是否為bundle文件,當(dāng)是bundle文件時(shí)則執(zhí)行步驟C307,當(dāng)不是bundle文件時(shí)則執(zhí)行步驟C308;
C307、驗(yàn)證下載的bundle文件的包名與配置文件中bundle文件的包名是否一致,當(dāng)一致時(shí)則執(zhí)行步驟C310,當(dāng)不一致時(shí)則執(zhí)行步驟C313;
C308、判斷從云端服務(wù)器下載的文件是否為apk文件,當(dāng)是時(shí)則執(zhí)行步驟C309,當(dāng)否時(shí)則執(zhí)行步驟C313;
C309、從apk文件中獲取jar文件,并添加指定元數(shù)據(jù)后轉(zhuǎn)化為bundle文件;
C310、啟動(dòng)安裝程序及start進(jìn)程進(jìn)行bundle文件的安裝;
C311、獲取已安裝的bundle文件的bundle ID;
C312、根據(jù)bundle ID更新bundle文件的數(shù)據(jù)庫(kù);
C313、結(jié)束進(jìn)程。
[0010]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法,其中,所述步驟C具體包括:
C401、解析配置文件,判斷配置文件對(duì)應(yīng)卸載模塊的動(dòng)態(tài)加載任務(wù)時(shí),則從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bund I e文件的載體包名相同的bund I e文件;
C402、從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bundle文件相對(duì)應(yīng)的bundle ID;
C403、啟動(dòng)卸載程序的進(jìn)程;
C404、根據(jù)bund I e ID更新bund I e文件的數(shù)據(jù)庫(kù)。
[0011]一種安卓平臺(tái)模塊動(dòng)態(tài)加載的系統(tǒng),其中,包括:
版本比對(duì)模塊,用于智能終端綁定OSGI框架的服務(wù)后,從云端服務(wù)器中獲取配置文件的版本號(hào),并與智能終端本地配置文件的版本號(hào)進(jìn)行比較;
配置文件下載模塊,用于當(dāng)智能終端本地配置文件的版本號(hào)低于從云端服務(wù)器中獲取配置文件的版本號(hào),則從云端下載配置文件;
任務(wù)執(zhí)行模塊,用于解析配置文件,并執(zhí)行與配置文件相對(duì)應(yīng)的動(dòng)態(tài)加載任務(wù)。
[0012]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的系統(tǒng),其中,所述配置文件包括動(dòng)作、bundle文件包名、bundle文件載體包名及bundle文件下載url。
[0013]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的系統(tǒng),其中,所述動(dòng)態(tài)加載任務(wù)包括加載模塊、更新模塊及卸載模塊。
[0014]所述安卓平臺(tái)模塊動(dòng)態(tài)加載的系統(tǒng),其中,所述操作響應(yīng)模塊具體包括:
文件獲取單元,用于解析配置文件,判斷配置文件對(duì)應(yīng)卸載模塊的動(dòng)態(tài)加載任務(wù)時(shí),則從bund I e文件的數(shù)據(jù)庫(kù)中獲取與該bund I e文件的載體包名相同的bund I e文件;
ID獲取單元,用于從bundle文件的數(shù)據(jù)庫(kù)中獲取與該bundle文件相對(duì)應(yīng)的bundle ID; 進(jìn)程啟動(dòng)單元,用于啟動(dòng)卸載程序的進(jìn)程;
數(shù)據(jù)庫(kù)更新單元,用于根據(jù)bundle ID更新bundle文件的數(shù)據(jù)庫(kù)。
[0015]本發(fā)明所述的安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng),方法包括:智能終端綁定OSGI框架的服務(wù)后,從云端服務(wù)器中獲取配置文件的版本號(hào),并與智能終端本地配置文件的版本號(hào)進(jìn)行比較;當(dāng)智能終端本地配置文件的版本號(hào)低于從云端服務(wù)器中獲取配置文件的版本號(hào),則從云端下載配置文件;解析配置文件,并執(zhí)行與配置文件相對(duì)應(yīng)的動(dòng)態(tài)加載任務(wù)。本發(fā)明中通過在安卓平臺(tái)中嵌入OSGI框架,并在OSGI框架的服務(wù)下將應(yīng)用的apk或jar文件轉(zhuǎn)化為bundle文件,實(shí)現(xiàn)了不通過重啟智能終端來對(duì)應(yīng)用進(jìn)行的加載、更新或卸載操作,即實(shí)現(xiàn)了模塊動(dòng)態(tài)加載,極大的方便了用戶。
【附圖說明】
[0016]圖1為本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法較佳實(shí)施例的流程圖。
[0017]圖2為本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法中進(jìn)行加載模塊的動(dòng)態(tài)加載任務(wù)的具體流程圖。
[0018]圖3為本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法中進(jìn)行更新模塊的動(dòng)態(tài)加載任務(wù)的具體流程圖。
[0019]圖4為本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法中進(jìn)行卸載模塊的動(dòng)態(tài)加載任務(wù)的具體流程圖。
[0020]圖5為本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的系統(tǒng)較佳實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0021]本發(fā)明提供一種安卓平臺(tái)模塊動(dòng)態(tài)加載的方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]請(qǐng)參見圖1,圖1是本發(fā)明所述安卓平臺(tái)模塊動(dòng)態(tài)加載的方法較佳實(shí)施例的流程圖。如圖1所示,其包括以下步驟:
步驟S100、智能終端綁定OSGI框架的服務(wù)后,從云端服務(wù)器中獲取配置文件的版本號(hào),并與智能終端本地配置文件的版本號(hào)進(jìn)行比較。
[0023]本發(fā)明的實(shí)施例中,先通過建立GetFramework繼承來自Android中的服務(wù)(Service),然后在該服務(wù)中通過FrameWorkFactory.NewFrameWorK)獲取OSGI框架實(shí)例,最后通過startService在Android系統(tǒng)中啟動(dòng)OSGI框架的服務(wù)(即啟動(dòng)GetFramework服務(wù))。
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1