[發明專利]一種宿主中插件加載方法及裝置在審
| 申請號: | 202010877570.4 | 申請日: | 2020-08-27 |
| 公開(公告)號: | CN112083968A | 公開(公告)日: | 2020-12-15 |
| 發明(設計)人: | 章勤杰;于達平;王杰 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F16/14 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 李娟 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 宿主 插件 加載 方法 裝置 | ||
本申請涉及計算機技術領域,尤其涉及一種宿主中插件加載方法及裝置,在運行應用程序時,啟動所述應用程序的宿主可執行文件,若當前執行的功能所對應的資源位于插件可執行文件中,則在觸發所述應用程序所對應的操作系統的組件啟動程序時,基于所述第二類加載器和插件的組件聲明代碼,確定查找到所述當前執行的功能對應的組件聲明,并創建組件對象;修改所述插件可執行文件中所述組件對象對應的組件,以使所述插件可執行文件中對應組件的資源賦值給所述組件對象;運行所述組件對象,以執行所述插件可執行文件中對應組件的資源所實現的功能,以實現宿主和插件的類相互訪問,并且無需侵入修改插件源碼,進而實現在宿主中動態加載插件的目的。
技術領域
本申請涉及計算機技術領域,尤其涉及一種宿主中插件加載方法及裝置。
背景技術
目前,應用程序可以劃分為宿主和插件,用戶只需要安裝宿主安卓安裝包(AndroidPackage,Apk)即可,插件的運行依賴宿主程序的運行,在運行時可以動態加載插件Apk,從而實現插件對應的功能,但是相關技術中,宿主和插件之間的類加載,或者相互隔離,或者只能單向依賴,并且對于插件的組件加載,通常采用預埋殼子組件,并將殼子組件和插件的組件聯系起來的方式,這就需要修改啟動組件的代碼,侵入插件中組件源碼,修改相關邏輯,不利于代碼復用和移植。
發明內容
本申請實施例提供一種宿主中插件加載方法及裝置,以實現宿主和插件的類相互訪問,并且無需侵入修改插件源碼,進而實現在宿主中動態加載插件的目的。
本申請實施例提供的具體技術方案如下:
本申請一個實施例提供了一種宿主中插件加載方法,包括:
在運行應用程序時,啟動所述應用程序的宿主可執行文件,其中,所述應用程序包括宿主可執行文件和插件可執行文件,所述宿主可執行文件中至少打包有宿主類加載器、插件類加載器以及插件的組件聲明代碼,所述宿主類加載器的結構中集成有用于加載宿主的類的第一類加載器和用于加載插件的類的第二類加載器;
若當前執行的功能所對應的資源位于插件可執行文件中,則在觸發所述應用程序所對應的操作系統的組件啟動程序時,基于所述第二類加載器和插件的組件聲明代碼,確定查找到所述當前執行的功能對應的組件聲明,并創建組件對象;
修改所述插件可執行文件中所述組件對象對應的組件,以使所述插件可執行文件中對應組件的資源賦值給所述組件對象;
運行所述組件對象,以執行所述插件可執行文件中對應組件的資源所實現的功能。
本申請另一個實施例提供了一種宿主中插件加載裝置,包括:
啟動模塊,用于在運行應用程序時,啟動所述應用程序的宿主可執行文件,其中,所述應用程序包括宿主可執行文件和插件可執行文件,所述宿主可執行文件中至少打包有宿主類加載器、插件類加載器以及插件的組件聲明代碼,所述宿主類加載器的結構中集成有用于加載宿主的類的第一類加載器和用于加載插件的類的第二類加載器;
創建模塊,用于若當前執行的功能所對應的資源位于插件可執行文件中,則在觸發所述應用程序所對應的操作系統的組件啟動程序時,基于所述第二類加載器和插件的組件聲明代碼,確定查找到所述當前執行的功能對應的組件聲明,并創建組件對象;
修改模塊,用于修改所述插件可執行文件中所述組件對象對應的組件,以使所述插件可執行文件中對應組件的資源賦值給所述組件對象;
運行模塊,用于運行所述組件對象,以執行所述插件可執行文件中對應組件的資源所實現的功能。
本申請另一個實施例提供了一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現上述任一種宿主中插件加載方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010877570.4/2.html,轉載請聲明來源鉆瓜專利網。





