簡介:RePlugin是一套完整的、穩(wěn)定的、適合全面使用的,占坑類插件化方案。我們“逐詞”拆開來解釋這個定義:
完整的:讓插件運行起來“像單品那樣”,支持大部分特性
穩(wěn)定的:如此靈活完整的情況下,其框架崩潰率僅為業(yè)內(nèi)很低的“萬分之一”
適合全面使用的:其目的是讓應(yīng)用內(nèi)的“所有功能皆為插件”
占坑類:以穩(wěn)定為前提的Manifest占坑思路
插件化方案:基于Android原生API和語言來開發(fā),充分利用原生特性
一、host配置
1.打開host項目project的gradle文件
2.在dependencies加入 classpath 'com.qihoo360.replugin:replugin-host-gradle:+'
3.切換到moudle的gradle文件
4.應(yīng)用apply plugin:'replugin-host-gradle'
5.在該gradle下的dependencies添加依賴 compile 'com.qihoo360.replugin:replugin-host-lib:+'
6.添加assets文件夾
a.右鍵單擊app文件夾
b.
c.在assets文件夾添加plugins文件夾
d.將插件apk改名為【插件名】.jar,并放入plugins文件夾
e.如d一樣的配置,是屬于內(nèi)部插件的使用方式,不需要調(diào)用install方法,直接使用以下方式調(diào)用
注:第一個箭頭是【插件名】,第二個箭頭是類名,必須使用完整形式!
二、host的Application配置
三、plugin配置
1.打開插件項目project的gradle文件
2.在dependencies加入 classpath'com.qihoo360.replugin:replugin-plugin-gradle:+'
3.切換到moudle的gradle文件
4.應(yīng)用 apply plugin:'replugin-plugin-gradle' (注意一定要放在android配置的下面,最好就放在dependencies上面)
5.在該gradle下的dependencies添加依賴 compile 'com.qihoo360.replugin:replugin-plugin-lib:+'
6.plugin配置結(jié)束,可以正常開發(fā)功能、界面。然后生成apk,接著更名為【插件名】.jar
四、進階使用
首先可以在host配置常用方法,方便快速調(diào)用
1.先配置一個基類,在里面封裝好需要用到的方法,然后以后直接繼承,方便調(diào)用
如圖所示:
關(guān)于host和plugin可以使用廣播來進行通信
host可以新建一個繼承于BroadcastReceiver的類,用于接收來自plugin的信息
接著在清單里面聲明它
接著插件里面對host發(fā)送廣播
所以,同理,可以如上所示來配置plugin接收host的信息
本人QQ:1056758714
開源項目地址:https://github.com/lx0708/DailyPush