small 1.1.0-beta9

@galenlin galenlin released this Nov 17, 2016 · 19 commits to master since this release

Small 1.1.0-beta9 (2016-11-17)

Bugfixes:

  • 取消使用 SetUpActivity, 以避免应用重启后无法传递 savedInstanceState 到最后的Activity.

Downloads

small:1.1.0-beta8

@galenlin galenlin released this Nov 15, 2016 · 22 commits to master since this release

Small 1.1.0-beta8 (2016-11-15)

Bugfixes:

  • 修正指定了 android:process 的Activity/Service启动时闪退的问题 (#354, #355)

Downloads

gradle-small:1.1.0-beta3, small:1.1.0-beta7

@galenlin galenlin released this Nov 10, 2016 · 25 commits to master since this release

Features:

  • 取消使用 SetUpProvider, 改在宿主Application构造方法中调用 Small.preSetUp 来支持ContentProvider (#253)

    public Application() {
        Small.preSetUp(this);
    }
  • Small.openUri 增加返回值,false表示打开失败

  • 支持从宿主Assets中加载插件,使用方法:

    1. 在根 build.gradle 配置:

      small {
          buildToAssets = true
      }
    2. 在宿主 Application.onCreate 中添加:

      Small.setLoadFromAssets(BuildConfig.LOAD_FROM_ASSETS);
  • 更新Small工程模板,一键生成上述配置

Downloads

gradle-small:1.1.0-beta1, small:1.1.0-beta6

@galenlin galenlin released this Nov 4, 2016 · 46 commits to master since this release

gradle-small:1.1.0-beta1

Features:

  • 使用gradlew small可打印更多有用的编译信息以方便提issue
  • 支持Stub模块(宿主分身), 该模块会被打包到宿主, 同时其他模块可自由引用其中的类与资源

    声明一个分身模块, 你可以:

    • 模块名以 app+ 开头
    • 或者在 根build.gradle 里声明 bundles ('stub', ['any1', 'any2'])
  • 支持统一配置android环境, 以避免由于环境不同可能导致的资源不匹配问题(AppCompat):

    small {
      android {
        compileSdkVersion = 23       // 编译sdk版本
        buildToolsVersion = "23.0.3" // 编译工具版本
        supportVersion = "23.4.0"    // Support包版本
      }
    }
    

Bugfixes:

  • 兼容 Gradle 3.0, 使用 JANSI 完成控制台颜色输出 (#326)
  • 修正 AssetPlugin 中对 android.jar 的引用路径

small:1.1.0-beta6

Features:

  • 支持通过 TaskStackBuilder 来透明的创建通知 (与原有代码一致)
  • 导出 Small.wrapIntent 以支持自定义 PendingIntent 的插件化封装
  • 支持在宿主注册插件 ContentProvider, 而在插件中实现该类 (#253)

Downloads

gradle-small 1.0.0-beta1, small 1.1.0-beta1

@galenlin galenlin released this Jul 21, 2016 · 136 commits to master since this release

gradle-small

1.0.0-beta1 (2016-07-21)

Features:

  • 取消模块名lib.xx限制, 可在build.gradle里通过bundles ('lib', [moduleA, moduleB])来配置
  • 取消模块包名*.app.*限制, 可在bundle.json里通过type字段来配置 (*.app.*, *.appXX形式的包名无需配置, 可被自动识别)
  • 增加gradlew small任务来显示Small环境变量

Performance:

  • 避免在编译lib.A:aR时触发构建其他lib.*模块的buildLib任务
  • 确保在插件没有资源时能够删除其resources.arsc文件来减少插件大小
  • 当插件没有资源时, 跳过资源分离等操作, 使编译加速
  • 避免分离字符串资源时可能产生的重复数据
  • 避免不同的variant重复调用preBuild任务

Bugfixes:

  • 修正普通aar模块未生成R.java导致的类找不到问题 (#194)
  • 修正lib.*模块下的libs/*.jar中的类找不到问题 (#177)
  • 修正lib.*模块下的assets等目录被重复编译进app模块的问题 (#199)
  • 修正误改资源压缩格式导致的raw下音频文件无法播放的问题 (#215, #172, #220, @tcking)
  • 修正解析字符串结构错误导致的资源无法找到问题 (a049596)

Other:

  • 兼容JDK 1.7

small

1.1.0-beta1 (2016-07-21)

Features:

  • bundle.json支持宿主路由配置 (pkg不配置)
  • bundle.json支持自定义插件type
  • 支持将插件manifest的Launcher作为默认路由Activity
  • 使用Instant Run方式修改宿主资源mAssets来完成资源合并, 兼容Xposed (#190)

Bugfixes:

  • [重要] 修正插件application在异常重启后无法触发onCreate的问题

Other:

  • Bundle类导出versionCodeversionName的获取API

Downloads

gradle-small:0.9.0, small:1.0.0

@galenlin galenlin released this Jun 29, 2016 · 185 commits to master since this release

gradle-small

0.9.0

Features:

Performance:

  • 动态添加classpath,避免javac task重复运行

Bugfixes:

  • 修正当app.A依赖lib.B且二者manifest都定义了<application>时,processManifest失败的问题
  • 在manifest的platformBuildVersionCode里添加无资源标记 (#62, #139)
  • 修正processDebugManifest<application>标签未闭合的问题 (@tcking)

Other:

  • 导入Android Plugin相关类,提高代码可读性

small

1.0.0

Performance:

  • 并发加载插件以提高首次加载速度
  • 使用CRC校验提高二次加载速度
  • 释放中间变量以优化内存

Bugfixes:

  • 创建插件application操作移至UI线程 (#173)
  • 修正不包含资源的插件被addAssetPath后在4.4以下出现的闪退问题 (#62, #139)

Downloads