github地址:https://github.com/wequick/Small
使用文档:http://code.wequick.net/Small/cn/home
一.新建宿主工程(和普通工程一样)
1.集成环境,在根目录下的build.gradle
脚本添加(注意:注意com.android.tools.build:gradle版本太高会报错)
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'//注意版本太高会报错
classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'
}
apply plugin: 'net.wequick.small'
small {
aarVersion = '1.1.0-alpha2'
}
点击 Android Studio 顶部菜单栏的同步按钮 ,系统将开始下载上述插件库。
再在底部面板 Terminal 中输入以下命令来验证Small环境:
gradlew small
提示如下表示成功
二、配置宿主
创建Application类,并初始化small
import android.app.Application;
import net.wequick.small.Small;
public class MySmallApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Small.preSetUp(this);
}
}
再在 AndroidManifest.xml
中指定这个 Application。
<application
android:name=".MySmallApplication"
...>
</application>
三、创建插件模块(截图来自官方文档)
四:编译插件
1.编译公共库插件 gradlew buildLib -q (-q是安静模式,可以让输出更好看,也可以不加)
2.Build bundles (打包所有组件)
gradlew buildBundle -q (-q是安静模式,可以让输出更好看,也可以不加)
3.查看编译情况 gradlew small
编译成功,多一个.so文件
五、启动插件
{
"version": "1.0.0",
"bundles": [
{
"uri": "main",
"pkg": "com.small.appmain"
}
]
}
- version,是
bundle.json
文件格式版本,目前始终为1.0.0
- bundles,插件数组
- uri,插件唯一ID
- pkg,插件包名
回到宿主的 app > java >com.small.mysmall> MainActivity,在 onStart 方法中我们通过上述配置的 uri 来启动 app.main 插件:
@Override
protected void onStart() {
super.onStart();
Small.setUp(this, new Small.OnCompleteListener() {
@Override
public void onComplete() {
//传值(只支持基本数据类型)
String uri=String.format("main?id=%s&title=%s",10,"hahaha");
Small.openUri(uri, MainActivity.this);
}
});
}
六、运行宿主
七、总结
遇到的问题:
1.编译 app.main 插件时
解决:在build.gradle中android下加入
lintOptions {
checkReleaseBuilds false
abortOnError false
}
2.目前没有支持3.0以上版本
改为
classpath 'com.android.tools.build:gradle:2.2.0'
项目demo地址:https://download.csdn.net/download/u010350891/10755798