創建工程
- open Android Studio,點選 Start a new Android Studio project 創建一個Android工程。Application Name 本示例設置為 SmallDemo (您可以填寫為自己的項目名稱)。
集成Small
gradle.jpeg
dependencies
{
classpath 'com.android.tools.build:gradle:2.2.3' //注意gradle版本號
classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2'
}
//在文件末尾加上
apply plugin: 'net.wequick.small'
small
{
aarVersion = '1.1.0-alpha2'
}
驗證Small環境
在底部面板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 添加構造方法來初始化Small
public class SmallApp extends Application
{
public SmallApp()
{
Small.preSetUp(this);
}
}
- 在AndroidManifest.xml 中指定這個 Application
創建插件模塊
- 右鍵 app 模塊 > New > Module
創建一個應用模塊 Phone & Tablet Module,設置 Application/Library name 為 App.main,此時 Module name 自動為 app.main,Package name 為 com.leo.smalldemo.app.main
- 確認是否啟動插件
修改插件的布局文件 app.main > res > layout > activity_main.xml,將 TextView 的內容改為 This is Small Model!
編譯插件
- 先編譯公共庫
./gradlew buildLib -q
- 再編譯app.main
./gradlew buildBundle -q -Dbundle.arch=x86
在模擬器調試時,-Dbundle.arch=xx,可以使用x86架構,真機打包時,需要使用到armeabi架構
啟動插件
-
右鍵 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": [//插件數組
{
"uri": "main",//插件唯一ID
"pkg": "com.leo.smalldemo.app.main"http://插件包名
}
]
}
- 啟動app.main插件
回到宿主的 app > java > com.leo.smalldemo > MainActivity,
在 onStart 方法中我們通過上述配置的 uri 來啟動 app.main 插件:
@Override
protected void onStart() {
super.onStart();
Small.setUp(this, new Small.OnCompleteListener() {
@Override
public void onComplete() {
Small.openUri("main",MainActivity.this);
}
});
}
運行宿主
-
在頂部菜單欄,我們先選擇宿主模塊 app,再點擊旁邊的運行按鈕
run
-
成功運行后,將啟動插件模塊:
succeed.jpg
文中的代碼已上傳至github
SmallDemo