Small插件化方案适用于将一个APK拆分为多个公共库插件、业务模块插件的场景。
不同插件方案基于这一场景的对比可以参考COMPARISION.md。
-
导入模板
cd Android cp -r templates /Applications/Android\ Studio.app/Contents/plugins/android/lib/
-
新建宿主工程
File->New->New Project创建一个工程,在选择Activity时选择
@Small
模板:由于IDE的一个bug,无法合并
build.gradle
脚本, 需要在根目录下的build.gradle
脚本里,打开注释的语句:buildscript { dependencies { classpath 'net.wequick.tools.build:gradle-small:1.1.0-alpha2' } } apply plugin: 'net.wequick.small' small { aarVersion = '1.1.0-alpha2' }
并将其中的版本修改为最新版。
-
新建插件模块
File->New->Module来创建插件模块,需要满足:
- 模块名形如:
app.*
,lib.*
或者web.*
- 包名包含:
.app.
,.lib.
或者.web.
为什么要这样?因为Small会根据包名对插件进行归类,特殊的域名空间如:“.app.” 会让这变得容易。
对
lib.*
模块选择Android Library,其他模块选择Phone & Tablet Module。创建一个插件模块,比如
app.main
:- 修改Application/Library name为
App.main
- 修改Package name为
com.example.mysmall.app.main
- 模块名形如:
如要手动创建工程,请参考GETTING-STARTED.md
- Build libraries (准备基础库)
[./]gradlew buildLib -q (-q是安静模式,可以让输出更好看,也可以不加)
- Build bundles (打包所有组件)
[./]gradlew buildBundle -q (-q是安静模式,可以让输出更好看,也可以不加)
我们鼓励大家成为Small的开发者,并享受开源协作的乐趣。
更多细节请参考开源贡献指南。
- 下载插件与更新(进入后台再恢复前台后生效)
- 终极分离与去除警告
- 加速生成AndroidManifest.xml
- 支持混淆
- 插件依赖关系与按需加载
- 单元测试
感谢以下网站收录本项目:
当你决定这么做时,希望你已经下载了源码并成功运行。并且关注
“如何从Small中学到东西以及为Small做点什么,促进共同成长。”
而非Small能为你做什么。
验证填写你是从何得知Small的,如qq, weibo, InfoQ, csdn, 朋友推荐, github搜索。
进群改备注:如_“福州-GalenLin”_。
QQ群链接无法使用的手动加 374601844
Apache License 2.0