作者:_cristal_500 | 来源:互联网 | 2024-11-09 19:58
4.新建 插件ModuleFile->New->Module,选择Phone & Tablet Module:Application Name: App.mainModule name: app.ma
Small.setUp(this, null);
// Small.setUp(this, new Small.OnCompleteListener(){...});
}
}
AndroidManifest.xml:
android:name=".SmallApp"
...
>
4.新建 插件Module
File->New->Module,选择Phone & Tablet Module:
Application Name: App.main
Module name: app.main
package name: com.example.mysmall.app.main
如果选择Android Library,app.*换成lib.*
"bundles": [
{
"uri": "main",
"pkg": "com.example.mysmall.app.main",
"rules": {
"page2": ".ActivityB"
}
}
]
}
uri : 跳转Activity需要的uri
pkg : 插件模块包名
rules : 指定跳转的Activity
6.跳转到插件Activity
@Override
public void onClick(View view) {
Small.openUri("main", this); // open bundles.main Launch Activity
// Small.openUri("main/page2", context);// 指定跳转到app.main.page2
}
调用openUri后,就可以跳转到插件的某个Activity了。
7.编译插件
1)Build libraries (准备基础库)
gradlew buildLib
some error
解决方法:
gradlew cleanLib
bradlew cleanBundle
重新buildLib、buildBundle即可
还试过运行时提示“找不到app/MainActivity”,解决:File->Invalidate Caches/Restart清一下缓存再重启AS就好了。
小结
Small算是最简单的插件化框架,如果你的project本来就已经组件化到一定程度,使用Small轻而易举。
由于笔者还未试过在实际项目中使用,可能有些潜在的坑未踩。Small的更新也是蛮积极的,目前大概一个月更新一次,在交流Q群&issue,Galenlin回应也很积极。
强烈建议大家看看Small Issue,了解大家在使用中遇到的问题,以及Galenlin和其他人提出的解决方案。目前就4页,中文的,不会太多哈哈。
笔者相信,未来半年一年,Small会更稳定、更容易在项目中集成,让我们更爽地体验插件化的优势!
推荐阅读:
关于转载
如果你想转载此文,请务必在转载时,加上原文作者&原文链接。谢谢