简介:RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案。我们“逐词”拆开来解释这个定义:
完整的:让插件运行起来“像单品那样”,支持大部分特性
稳定的:如此灵活完整的情况下,其框架崩溃率仅为业内很低的“万分之一”
适合全面使用的:其目的是让应用内的“所有功能皆为插件”
占坑类:以稳定为前提的Manifest占坑思路
插件化方案:基于Android原生API和语言来开发,充分利用原生特性
一、host配置
1.打开host项目project的gradle文件
2.在dependencies加入 classpath 'com.qihoo360.replugin:replugin-host-gradle:+'
3.切换到moudle的gradle文件
4.应用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一样的配置,是属于内部插件的使用方式,不需要调用install方法,直接使用以下方式调用
注:第一个箭头是【插件名】,第二个箭头是类名,必须使用完整形式!
二、host的Application配置
三、plugin配置
1.打开插件项目project的gradle文件
2.在dependencies加入 classpath'com.qihoo360.replugin:replugin-plugin-gradle:+'
3.切换到moudle的gradle文件
4.应用 apply plugin:'replugin-plugin-gradle' (注意一定要放在android配置的下面,最好就放在dependencies上面)
5.在该gradle下的dependencies添加依赖 compile 'com.qihoo360.replugin:replugin-plugin-lib:+'
6.plugin配置结束,可以正常开发功能、界面。然后生成apk,接着更名为【插件名】.jar
四、进阶使用
首先可以在host配置常用方法,方便快速调用
1.先配置一个基类,在里面封装好需要用到的方法,然后以后直接继承,方便调用
如图所示:
关于host和plugin可以使用广播来进行通信
host可以新建一个继承于BroadcastReceiver的类,用于接收来自plugin的信息
接着在清单里面声明它
接着插件里面对host发送广播
所以,同理,可以如上所示来配置plugin接收host的信息
本人QQ:1056758714
开源项目地址:https://github.com/lx0708/DailyPush