Android插件動態(tài)加載技術(shù)

如今SDK開發(fā)(插件化)越來越普遍,使用過程中若出現(xiàn)隱形bug,或者小的需求變更,這時就可以使用動態(tài)加載,熱補丁技術(shù)來實現(xiàn)。

實現(xiàn)原理: 利用DexClassloader.loadclass實現(xiàn)

實現(xiàn)步驟:

1.將插件模塊編譯生成jar后,利用命令dx工具打包生成二進制的jar包(暫命名為new.jar)。

2.新建一個lib工程(暫時命名為Module A),此lib工程主要實現(xiàn)兩個功能:

(1)對客戶提供接口來調(diào)用new.jar中相應(yīng)的功能。

(2)內(nèi)部利用DexClassloader.loadclass來加載相應(yīng)的類,實現(xiàn)客戶需要的功能。

3.將new.jar添加到Module A的asserts目錄下,配置build.gradle生成帶assets文件夾的jar包.

具體實現(xiàn)參考文章:

配置build.gradle生成帶assets文件夾的jar包

4.將(3)中生成的jar包放入到具體工程libs下即可引用new.jar中包括的功能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容