創(chuàng)建工程
- open Android Studio,點(diǎn)選 Start a new Android Studio project 創(chuàng)建一個(gè)Android工程蝇刀。Application Name 本示例設(shè)置為 SmallDemo (您可以填寫為自己的項(xiàng)目名稱)树枫。
集成Small
dependencies
{
classpath 'com.android.tools.build:gradle:2.2.3' //注意gradle版本號(hào)
classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'
}
//在文件末尾加上
apply plugin: 'net.wequick.small'
small
{
aarVersion = '1.1.0-alpha2'
}
驗(yàn)證Small環(huán)境
在底部面板Terminal中輸入命令:./gradlew small
如果一切正常直焙,將成功輸出:
gradle-small plugin : 1.1.0-alpha2 (maven)
small aar : 1.1.0-alpha2 (maven)
gradle core : 3.3
android plugin : 2.2.3
OS : Mac OS X 10.13.1 (x86_64)
type | name | PP | sdk | aapt | support | file(armeabi) | size |
---|---|---|---|---|---|---|---|
host | app | 26 | 26.0.2 | 26.+ | |||
app | app.main | 0x77 | 26 | 26.0.2 | 26.+ | *_main.so | 43.7 KB |
BUILD SUCCESSFUL
配置宿主
-
新建Application,注入Small
新建Application.jpeg 添加構(gòu)造方法來初始化Small
public class SmallApp extends Application
{
public SmallApp()
{
Small.preSetUp(this);
}
}
- 在AndroidManifest.xml 中指定這個(gè) Application
創(chuàng)建插件模塊
- 右鍵 app 模塊 > New > Module
創(chuàng)建一個(gè)應(yīng)用模塊 Phone & Tablet Module砂轻,設(shè)置 Application/Library name 為 App.main奔誓,此時(shí) Module name 自動(dòng)為 app.main,Package name 為 com.leo.smalldemo.app.main
- 確認(rèn)是否啟動(dòng)插件
修改插件的布局文件 app.main > res > layout > activity_main.xml搔涝,將 TextView 的內(nèi)容改為 This is Small Model!
編譯插件
- 先編譯公共庫
./gradlew buildLib -q
- 再編譯app.main
./gradlew buildBundle -q -Dbundle.arch=x86
在模擬器調(diào)試時(shí)厨喂,-Dbundle.arch=xx,可以使用x86架構(gòu)庄呈,真機(jī)打包時(shí)蜕煌,需要使用到armeabi架構(gòu)
啟動(dòng)插件
-
右鍵 app 模塊,New > Folder > Assets Folder 新建 assets 目錄
assets目錄.jpeg
-
再右鍵生成的 assets 目錄诬留,New > File 新建路由配置文件 bundle.json:
bundle.json
- 修改bundle.json斜纪,添加路由
{
"version": "1.0.0",//文件格式版本,目前始終為1.0.0
"bundles": [//插件數(shù)組
{
"uri": "main",//插件唯一ID
"pkg": "com.leo.smalldemo.app.main"http://插件包名
}
]
}
- 啟動(dòng)app.main插件
回到宿主的 app > java > com.leo.smalldemo > MainActivity故响,
在 onStart 方法中我們通過上述配置的 uri 來啟動(dòng) app.main 插件:
@Override
protected void onStart() {
super.onStart();
Small.setUp(this, new Small.OnCompleteListener() {
@Override
public void onComplete() {
Small.openUri("main",MainActivity.this);
}
});
}
運(yùn)行宿主
-
在頂部菜單欄傀广,我們先選擇宿主模塊 app,再點(diǎn)擊旁邊的運(yùn)行按鈕
run
-
成功運(yùn)行后彩届,將啟動(dòng)插件模塊:
succeed.jpg
文中的代碼已上傳至github
SmallDemo