插件化框架Small使用和Demo
本文参考自Small官网:http://code.wequick.net/Small
集成步骤:
在项目的build.gradle下配置依赖
dependencies { classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'//Small使用的依赖 }
在该文件的最下面添加Small插件 和版本
//使用Small插件 apply plugin: 'net.wequick.small' //Small的版本 small { aarVersion = '1.1.0-alpha2' strictSplitResources = false//资源文件的配置 }同步后
在Terminal执行:gradlew small
说明已经成功使用了small框架
集成Demo:
在宿主App中初始化Small
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); Small.preSetUp(this); } }
重新建立几个module,我的是建立app.main、app.search、和lib.network(Java库)
配置路由,就是bundle.json文件
内容如下:
{ "version": "1.0.0", "bundles": [ { "uri": "main", "pkg": "com.example.appmain" }, { "pkg": "com.example.libnetwork" }, { "uri": "search", "pkg": "com.example.appsearch" } ] }
以为我的app.main 使用的app.network 库所以在build.gradle添加依赖
compile project(':lib.network')
接下来就是在不同插件之间的跳转,它会根据第一个参数到路由bundle.json里面找到对应的包,实现跳转
Small.openUri("main", GuideActivity.this);值得注意的是,我们所有的插件模块都是可以独立运行的。
先生成基本库:命令:gradlew buildLib
生成bundle插件库
gradlew buildBundle
三个插件页面相互跳转:如下图
最后附上Demo:https://github.com/zhengwanshi/MySmallTest