Comments (9)
@yygutn 效果展现的柱状图是基于 一个 3W 个类文件(不包含第三方库),68个module 的工程的效果展现。
如果使用 demo 做速度测试,其中每一个 module 仅只有一两个 class,并没有对比意义(demo 只是为了测试解决依赖的替换和插件正常运行)
原生编译:对于一个模块A的改动,任何依赖了 A 的模块都会重新编译(如果A 是 comm 模块基本整个项目都要编)
插件加速编译:对于一个模块A的改动,只编译 A 和 app 模块
综上在插件能做到只编译改动模块。原生编译则不行。
所以是否变快很容易得出结论了。
from rocketx.
好的吧,对于includeBuild是否支持呢
from rocketx.
@yygutn 目前还没做 includeBuild 混合构建的测试。还没支持上来。
from rocketx.
@yygutn 如果你这边有这方面的经验和环境,欢迎提 PR
from rocketx.
@trycatchx 最近在试用的时候,经常遇到这个问题: Type XXX is defined multiple times, clean build后就好了
发生的场景是,修改了某个module的依赖,重新sync,如果不clean一次,直接build就会出现问题
from rocketx.
@yygutn 使用最新的1.0.6试试。
from rocketx.
@yygutn 这种引起类重复的原因是:项目使用了自定义的 transforms ,然后在gradle 没有增量的情况 遗漏调用 outputProvider.deleteAll() ,导致 依赖变化时候,module 换成 aar ,module 缓存没剔除 ,又多了一份一模一样的 aar 。(不使用 rockext 插件,模块更新也会出现这种问题)
建议在debug 阶段如果使用了 transform 通过以下代码禁止,如果没影响的话。速度还会更快(内部目前禁用了 arouter 神策 等插件):
RocketX {
// 禁用可禁用的 transform ,速度更快
transFormList = ["sensorsAnalyticsAutoTrack","..xx"]
}
from rocketx.
谢谢大佬,真实勤劳的小蜜蜂 @trycatchx
from rocketx.
有些不能禁用的话,怎么处理呢,./gradlew clean 后,还是会报重复类的错误
from rocketx.
Related Issues (20)
- 修改commonUI 源码依赖不生效,还是打包成aar HOT 4
- No static field xxx of type I in class Lcom/xxx/xxx/BR; HOT 1
- 请问改为发布到远端maven仓库有示例吗,需要改哪些地方呢 HOT 3
- demo 编译报错 HOT 4
- kapt: java.lang.ClassNotFoundException: com.google.gson.annotations.SerializedName HOT 1
- 使用kapt没生成对应类 HOT 1
- Cannot change dependencies of dependency configuration ':xxx:api' after it has been included in dependency resolution. HOT 1
- Execution failed for task ':xxx:kaptDebugKotlin HOT 2
- AGP 7.2.2 sync 失败 HOT 5
- Cannot change dependencies of dependency configuration ':app:implementation' after it has been included in dependency resolution. HOT 1
- 引入其他asm插桩插件导致编译失败: zip END header not found HOT 1
- a模块布局xml引用b模块资源文件会编译报错,第一次可以编译通过,之后就报错了 HOT 2
- 请教一下,这部分禁用transform任务的逻辑,有没有办法在build.gradle里面写,而不是在插件里? HOT 1
- Execution failed for task ':app:checkDevDebugAarMetadata' HOT 3
- 针对 Flutter 项目需要额外的处理吗 HOT 1
- demo编译爆错 HOT 2
- 项目是老项目,没有适配androidX,使用rocketX插件编译不了
- gradle 编译没法使用
- 目前还不支持 includeBuild
- 没有适配AndroidStudio新UI
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rocketx.