android插件化small框架初探(一)

一个项目包涵多个module,且互相独立,没有依赖关系,但是可以相互跳转,方便维护,多个module插在一个app宿主上,这是我理解的插件化。

包含公共库插件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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值