0%

Android插件化-Small框架

世界那么大,组件那么小。Small,做最轻巧的跨平台插件化框架。 ——Galenlin

本文暂停更新直到Small支持AS3.2为止

Small官方路径:

引入框架

  1. 根据官方文档配置框架

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    buildscript {
    ext.small_version = '1.5.0-beta2'
    ...
    dependencies{
    ...
    classpath "net.wequick.tools.build:gradle-small:$small_version"
    }
    }
    ...
    apply plugin: 'net.wequick.small'
    small {
    aarVersion = "$small_version"
    }

    报错1:

    1
    ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.31.

    emmm…垃圾软件毁我青春,Tyr Again
    好的,报错换了,报错2:

    1
    ERROR: Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.31

    emmm…垃圾软件毁我青春!!!,要不这框架我不用了…
    如果遇到问题无法解决,那么就解决出题人——于是我把基于Kotlin编程改为基于Java编程…

  2. Small框架引入后,在Terminal中键入:gradlew small校验:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ### Compile-time

    gradle-small plugin : 1.5.0-beta2 (maven)
    small aar : 1.5.0-beta2 (maven)
    gradle core : 5.1.1
    android plugin : 3.4.2
    OS : Windows 7 6.1 (amd64)

    ### Bundles

    | type | name | PP | sdk | aapt | support | file | size |
    |------|------|----|-----|--------|---------|------|------|
    | host | app | | 28 | 29.0.2 | | | |

配置宿主

  1. 新建一个Application

    1
    public class AppAplication extends Application{}
  2. 初始化Small

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /**
    * 如果项目中使用了ContentProvider,
    * 那么该方法必须在构造方法中调用
    * ——在onCreate之前
    * 如果未用到ContentProvider,
    * 可以在onCreate中调用
    * ——因此放在构造方法中最省事
    */
    private void preSetUp() {
    Small.preSetUp(this);
    }

    public AppAplication() {
    preSetUp();
    }

创建插件模块

  1. 根据文档表明,我需要创建一个:

    1
    2
    3
    Application/Library name :App.main
    Module name :app.main
    Package name :com.yooking.app.main
  1. 我想我遇到一个大麻烦了:Ilegal character '.' in Module name 'App.main'
    emmm…点开issues
    emmm…很遗憾,朋友们,这篇文章结束了,忽然感觉自己少了好多事儿~~
------------本文结束感谢您的阅读------------

Thank you for your accept!