[發(fā)明專利]一種Android插件化開發(fā)的方法和裝置在審
| 申請?zhí)枺?/td> | 201710646050.0 | 申請日: | 2017-08-01 |
| 公開(公告)號: | CN109542445A | 公開(公告)日: | 2019-03-29 |
| 發(fā)明(設(shè)計)人: | 別力 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/61;G06F8/658;G06F9/445 |
| 代理公司: | 中原信達知識產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;姜勁 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 插件 宿主 安裝包 編譯 公共代碼 公共資源 源代碼 方法和裝置 加載 打包 計算機技術(shù)領(lǐng)域 工程使用 開發(fā)效率 形式編譯 運行環(huán)境 解耦 開發(fā) | ||
1.一種Android插件化開發(fā)的方法,其特征在于,包括:
將各插件工程都使用的公共代碼和公共資源進行編譯以生成依賴包;
將宿主工程的源代碼和所述依賴包進行編譯打包以得到所述宿主工程的安裝包,將不包含所述公共代碼和公共資源的所述各插件工程的源代碼進行編譯打包以得到所述各插件工程的安裝包;
在所述宿主工程的安裝包中構(gòu)造加載運行環(huán)境以加載和運行所述各插件工程的安裝包。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
為所述宿主工程的資源、所述公共資源和所述各插件工程的資源設(shè)置不同的資源標(biāo)識,所述各插件工程的資源設(shè)置規(guī)則為:所述各插件工程的資源的包標(biāo)識與所述宿主工程的資源、公共資源的包標(biāo)識不同且所述各插件工程之間的包標(biāo)識均不相同;
將所述各插件工程的系統(tǒng)默認(rèn)的包標(biāo)識替換為設(shè)置的所述包標(biāo)識。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,構(gòu)造加載運行環(huán)境,包括:加載所述各插件工程的資源和代碼。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,加載所述各插件工程的資源,包括:
創(chuàng)建持有所有所述插件工程的安裝包的路徑的資產(chǎn)管理類;
自定義委托資源加載類,將創(chuàng)建的所述資產(chǎn)管理類的實例傳入所述委托資源加載類的構(gòu)造方法中以將系統(tǒng)中資產(chǎn)管理類的實例替換為創(chuàng)建的所述資產(chǎn)管理類的實例;
采用Hook技術(shù)將系統(tǒng)的資源加載類替換為所述委托資源加載類。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,加載所述各插件工程的代碼,包括:采用Hook技術(shù)將所述插件工程的安裝包的路徑添加到類加載器的路徑列表中。
6.一種Android插件化開發(fā)的裝置,其特征在于,包括:
依賴包生成模塊,用于將各插件工程都使用的公共代碼和公共資源進行編譯以生成依賴包;
編譯打包模塊,用于將宿主工程的源代碼和所述依賴包進行編譯打包以得到所述宿主工程的安裝包,將不包含所述公共代碼和公共資源的所述各插件工程的源代碼進行編譯打包以得到所述各插件工程的安裝包;
環(huán)境構(gòu)造模塊,用于在所述宿主工程的安裝包中構(gòu)造加載運行環(huán)境以加載和運行所述各插件工程的安裝包。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:
資源標(biāo)識設(shè)置模塊,用于為所述宿主工程的資源、所述公共資源和所述各插件工程的資源設(shè)置不同的資源標(biāo)識,所述各插件工程的資源設(shè)置規(guī)則為:所述各插件工程的資源的包標(biāo)識與所述宿主工程的資源、公共資源的包標(biāo)識不同且所述各插件工程之間的包標(biāo)識均不相同;
包標(biāo)識替換模塊,用于將所述各插件工程的系統(tǒng)默認(rèn)的包標(biāo)識替換為設(shè)置的所述包標(biāo)識。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述環(huán)境構(gòu)造模塊包括:加載所述各插件工程的資源和代碼。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述環(huán)境構(gòu)造模塊包括:
創(chuàng)建持有所有所述插件工程的安裝包的路徑的資產(chǎn)管理類;
自定義委托資源加載類,將創(chuàng)建的所述資產(chǎn)管理類的實例傳入所述委托資源加載類的構(gòu)造方法中以將系統(tǒng)中資產(chǎn)管理類的實例替換為創(chuàng)建的所述資產(chǎn)管理類的實例;
采用Hook技術(shù)將系統(tǒng)的資源加載類替換為所述委托資源加載類。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述環(huán)境構(gòu)造模塊包括:采用Hook技術(shù)將所述插件工程的安裝包的路徑添加到類加載器的路徑列表中。
11.一種電子設(shè)備,其特征在于,包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
當(dāng)所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現(xiàn)如權(quán)利要求1-5中任一所述的方法。
12.一種計算機可讀介質(zhì),其上存儲有計算機程序,其特征在于,所述程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-5中任一所述的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710646050.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





