README.md

Small Android

Small插件化方案适用于将一个APK拆分为多个公共库插件、业务模块插件的场景。

不同插件方案基于这一场景的对比可以参考COMPARISION.md

Quick Started

创建工程

  1. 导入模板

    cd Android
    cp -r templates /Applications/Android\ Studio.app/Contents/plugins/android/lib/
  2. 新建宿主工程

    File->New->New Project创建一个工程,在选择Activity时选择@Small模板: Small template

    由于IDE的一个bug,无法合并build.gradle脚本, 需要在根目录下的build.gradle脚本里,打开注释的语句:

    buildscript  {
        dependencies {
            classpath 'net.wequick.tools.build:gradle-small:1.1.0-beta4'
        }
    }
    
    apply plugin: 'net.wequick.small'
    
    small {
        aarVersion = '1.1.0-alpha1'
    }

    并将其中的版本修改为最新版。

  3. 新建插件模块

    File->New->Module来创建插件模块,需要满足:

    1. 模块名形如:app.*, lib.*或者web.*
    2. 包名包含:.app., .lib.或者.web.

      为什么要这样?因为Small会根据包名对插件进行归类,特殊的域名空间如:“.app.” 会让这变得容易。

    lib.*模块选择Android Library,其他模块选择Phone & Tablet Module

    创建一个插件模块,比如app.main

    1. 修改Application/Library nameApp.main
    2. 修改Package namecom.example.mysmall.app.main

      New small module

如要手动创建工程,请参考GETTING-STARTED.md

编译插件

  1. Build libraries (准备基础库)

    [./]gradlew buildLib -q (-q是安静模式,可以让输出更好看,也可以不加)

    Build libraries

  2. Build bundles (打包所有组件)

    [./]gradlew buildBundle -q (-q是安静模式,可以让输出更好看,也可以不加)

    Build bundles

这两步,如果你喜欢,也可以在Gradle任务导航里运行
Small tasks

单独编译一个组件可以使用 [./]gradlew -p web.about assembleRelease
或者
Sub tasks

运行

在工具栏Run small,选择app模块,运行。

Examples

加入我们

我们鼓励大家成为Small的开发者,并享受开源协作的乐趣。

  1. 提交Bug并协助我们确认修复。
  2. 提交PR来完善文档、修复bug、完成待实现功能或者讨论中的建议。
  3. 在QQ群或Gitter参与讨论,提供建议。
  4. Bintray上给我们的maven五星好评。

更多细节请参考开源贡献指南

TODO List

文档

Wiki

常见问题

FAQ

致谢

感谢以下网站收录本项目:

联系我们

当你决定这么做时,希望你已经下载了源码并成功运行。并且关注
    “如何从Small中学到东西以及为Small做点什么,促进共同成长。”
而非Small能为你做什么。

快客 - Small Android

验证填写你是从何得知Small的,如qq, weibo, InfoQ, csdn, 朋友推荐, github搜索。
进群改备注:如“福州-GalenLin”
QQ群链接无法使用的手动加 374601844

License

Apache License 2.0