android--DroidPlugin插件化編程資料

隨著應(yīng)用的體積越來(lái)越大, 插件化也逐漸受到關(guān)注,參考. 應(yīng)用插件化把模塊完全解耦, 使用下載更新的方式, 擴(kuò)展應(yīng)用, 是平臺(tái)化類應(yīng)用的必然選擇. 國(guó)內(nèi)很多公司實(shí)現(xiàn)了各式各樣的方法, 360的DroidPlugin是比較有意思的一個(gè), 使用預(yù)占位的方式注冊(cè)四大組件, 實(shí)現(xiàn)熱更新,參考, 也可以直接讀源碼理解實(shí)現(xiàn)邏輯.

應(yīng)用插件化實(shí)踐--DroidPlugin的使用


之前寫過(guò)有關(guān)于Android 插件方向的文章,解析了一下Android的插件原理與運(yùn)行方式。很多小伙伴都問我,為什么不把我制作的插件放到Github上,讓大家共享一下。

我只能說(shuō),大哥啊,這個(gè)插件是我在公司研發(fā)的時(shí)候制作的,商業(yè)機(jī)密,不能開源啊。

剛好,最近逛github的時(shí)候,看到了奇虎360手機(jī)助手團(tuán)隊(duì)的一個(gè)Android插件開源項(xiàng)目。今天,我們就具體的分析一下它的原理與實(shí)現(xiàn)邏輯。讓大家更清楚的了解,一個(gè)Android插件的構(gòu)造。

360 Android 插件項(xiàng)目 DroidPlugin

這個(gè)框架是奇虎360手機(jī)助手團(tuán)隊(duì),最近在github上開源出來(lái)的Android插件框架。這種精神是很值得鼓勵(lì)的。

github地址為: https://github.com/Qihoo360/DroidPlugin

好,一下純屬引入了官方的說(shuō)明:

說(shuō)明

DroidPlugin是360手機(jī)助手在Android系統(tǒng)上實(shí)現(xiàn)了一種新的插件機(jī)制:

它可以在無(wú)需安裝、修改的情況下運(yùn)行APK文件,此機(jī)制對(duì)改進(jìn)大型APP的架構(gòu),實(shí)現(xiàn)多團(tuán)隊(duì)協(xié)作開發(fā)具有一定的好處。

鏈接地址:Android插件實(shí)例——360 DroidPlugin詳解,androiddroidplugin


360 Android插件(DroidPlugin)無(wú)需安裝運(yùn)行APK的原理是什么,用途都有哪些?

今天上網(wǎng)偶爾瀏覽到GibtHub上一個(gè)叫做DroidPlugin的360手機(jī)助手插件,不明覺厲,但很感興趣。這個(gè)插件,對(duì)我們普通開發(fā)者,有什么價(jià)值和意義?請(qǐng)開發(fā)、運(yùn)營(yíng)的高手解讀一下,謝謝!

鏈接地址:360 Android插件(DroidPlugin)無(wú)需安裝運(yùn)行APK的原理是什么,用途都有哪些?


前段時(shí)間,奇虎360在Github上發(fā)布了一個(gè)Android開源項(xiàng)目DroidPlugin,這是一個(gè)實(shí)現(xiàn)動(dòng)態(tài)加載的Android插件框架,可以免安裝、免修改的運(yùn)行第三方APK。一時(shí)間,它被譽(yù)為安卓黑科技,引起行業(yè)內(nèi)的關(guān)注。

據(jù)其官方文檔介紹,DroidPlugin的目的是改進(jìn)大型APP的架構(gòu),實(shí)現(xiàn)多團(tuán)隊(duì)協(xié)作開發(fā)。它的部分特性如下:

支持Android 2.3 - 6.0(Android M)系統(tǒng)版本。

集成簡(jiǎn)單,將DroidPlugin引入到項(xiàng)目后僅需很少代碼集成。

高度隔離,宿主App和插件App之間的是完全隔離的。

插件管理,插件的空進(jìn)程等會(huì)被及時(shí)處理,靜態(tài)廣播會(huì)被當(dāng)作動(dòng)態(tài)處理。

DroidPlugin的原理是利用Android一個(gè)進(jìn)程可以運(yùn)行多個(gè)APK的機(jī)制,通 過(guò)API欺騙讓系統(tǒng)以為只有宿主App存在,同時(shí)通過(guò)預(yù)先占坑來(lái)創(chuàng)造插件App的運(yùn)行環(huán)境,最后通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)函數(shù)hook、Binder代理繞過(guò)部分系統(tǒng)服務(wù)限制,從而實(shí)現(xiàn)應(yīng)用的組件化。

據(jù)InfoQ了解,它的作者是360高級(jí)工程師張勇,InfoQ記者對(duì)其進(jìn)行了采訪,了解了項(xiàng)目背后的更多信息。同時(shí),張勇也接受InfoQ邀請(qǐng),將于12月18日在ArchSummit北京2015架構(gòu)師大會(huì)上作“分拆:DroidPlugin的實(shí)現(xiàn)原理及其應(yīng)用”的分享。

受訪嘉賓介紹

張勇,從2009年開始從事Android的研發(fā)工作,分別在機(jī)鋒網(wǎng)、金山、360從事過(guò)桌面、安全、市場(chǎng)等Android APP的研發(fā)管理工作。2011年加入360手機(jī)助手團(tuán)隊(duì),目前在奇虎從事360手機(jī)助手Android客戶端的研發(fā)工作,專注于Android APP安全、架構(gòu)領(lǐng)域。

鏈接地址:專訪DroidPlugin作者張勇:安卓黑科技是怎樣煉成的

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

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

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