一、前言:
本插件自动识别未改动 module 并在编译流程中替换为 aar ,做到只编译当前改动的 module,加速 Android apk 的编译速度。让你体验到所有模块都是 aar 的速度,又能保留所有的 module 便于修改,完美!
二、使用:
1、依赖 gradle 插件
// app module 的 build.gradle 加入
apply plugin: 'com.rocketx'
// 在根目录的 build.gradle 加入
buildscript {
dependencies {
classpath 'io.github.trycatchx:rocketx:1.1.0'
}
}
2、依赖 AS 插件 android studio setting->plugins-> marketplace 搜索 RocketX 安装:
image.png- 使用点击小火箭至喷火icon (开启 状态),点击编译器 run 按钮 :
如果你有多个 app module 也可选择 Assemble{buildType} task 进行 run
三、配置(可选)
- openLog :打开 log
- excludeModule :哪一些模块不需要打成 aar(譬如有些模块使用了 tool:replace="XX" ,打成 aar 后属性会消失,当然也可以移动到 app module 的 AndroidMenifest.xml)
//app moodule下 配置插件编译项
android {
//..
RocketX {
openLog = true
//指定哪些模块不打成 aar ,字符串为 module.path
excludeModule = [":module_common"]
}
//..
}
- excludeTransForms: 编译阶段可以禁用的 transform ,编译速度更快(可通过build 的 log 搜索关键字 transFormList 查看自己项目引用了哪些 transform,并手动配置在 gradle.properties 文件下)
# 使用空格间隔开
excludeTransForms = com.alibaba.arouter AAA bbb
问题
- 对于 gradle.properties 中的配置:如果使用 org.gradle.configureondemand = true ,请删除或者设置为 false,
- 第一次的加速,是最慢的因为需要全量编译后,打出 aar 上传到LocalMaven
- 目前如果编译出错,请重新再 run 一次,出现的问题 欢迎提 issue
网友评论