android插件化small框架初探(一)
2017-02-06 14:52
316 查看
一个项目包涵多个module,且互相独立,没有依赖关系,但是可以相互跳转,方便维护,多个module插在一个app宿主上,这是我理解的插件化。
包含公共库插件lib,业务插件module及宿主app(只做壳用没有业务逻辑)
由于插件化是彻底分离的,底层是通过path来找到彼此,因此需要规定好path 映射关系,动态加载。
这里学习的是small框架。
首先需要在project根目录的build.gradle中添加如下代码
然后 创建跳转的第一个module 这里叫做app.main并在app的assets下的bundle.json指定映射关系
第三步 配置签名文件根目录下新建sign–>release.jks
app的build.gradle下指定
最后在代码中做简单配置
最后执行跳转 在app的MainActivity中
运行app前需要执行如下两个命令
官方:https://github.com/wequick/Small
此简易demo地址:https://github.com/androidjiawei/MySmall/tree/master/Android/MySmall
包含公共库插件lib,业务插件module及宿主app(只做壳用没有业务逻辑)
由于插件化是彻底分离的,底层是通过path来找到彼此,因此需要规定好path 映射关系,动态加载。
这里学习的是small框架。
首先需要在project根目录的build.gradle中添加如下代码
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'net.wequick.tools.build:gradle-small:1.1.0-beta4' } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } apply plugin: 'net.wequick.small' small { aarVersion = '1.1.0-alpha1' }
然后 创建跳转的第一个module 这里叫做app.main并在app的assets下的bundle.json指定映射关系
{ "version": "1.0.0", "bundles": [ { "uri": "main",//跳转时指定main即到pkg包的启动activity中 "pkg": "com.xiaov.mysmall.app.main" } ] }
第三步 配置签名文件根目录下新建sign–>release.jks
app的build.gradle下指定
signingConfigs { release { storeFile file('../sign/release.jks') storePassword "111111" keyAlias "small" keyPassword "111111" } } buildTypes { release { signingConfig signingConfigs.release } }
最后在代码中做简单配置
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); Small.preSetUp(this); } } <application android:name="MyApplication" ... >
最后执行跳转 在app的MainActivity中
@Override protected void onStart() { super.onStart(); // Small.setBaseUri("http://example.com/"); Small.setUp(this, new net.wequick.small.Small.OnCompleteListener() { @Override public void onComplete() { Small.openUri("main", MainActivity.this);//启动默认的Activity,参考wiki中的UI route启动其他Activity } }); }
运行app前需要执行如下两个命令
gradlew buildLib -q gradlew buildBundle -q
官方:https://github.com/wequick/Small
此简易demo地址:https://github.com/androidjiawei/MySmall/tree/master/Android/MySmall
相关文章推荐
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- android插件化small框架初探(一)
- Android Small插件化框架源码分析
- [技术研究]Android插件化技术学习(Small插件框架)
- Android Small插件化框架源码分析
- Android Small插件化框架--类加载实现解析
- Android插件化(使用Small框架)
- Android Small插件化框架--启动插件Activity源码解析(上)
- Android Small插件化框架--启动插件Activity源码解析(上)
- Android自助餐之插件化(使用Small框架)
- Android自助餐之插件化(使用Small框架)
- android插件化框架 small对资源的支持
- Android Plugin 插件化技术-Small插件框架
- Android插件化框架 RePlugin 初探