trycatchx / RocketX

🔥🔥 android 端编译加速插件🚀 动态识别未改动 module 并在编译流程中替换为 aar ,只编译改动模块,加速 Android apk 的编译速度。
861 stars 104 forks source link

app:dexBuilderDebug编译时间增长 #20

Closed yejiabin9 closed 2 years ago

yejiabin9 commented 2 years ago

使用插件后dexBuilderDebug时间会增长,这是是什么原因啊? 是扫描本地代码最后修改时间导致的吗?

yejiabin9 commented 2 years ago

还有就是moduleChangeTime里面只有changeTag吗?没有时间戳吗

trycatchx commented 2 years ago

扫描文件资源,只是记录不做修改。 目的是得知 哪一个 module 做了改动了代码,需要退化为 module 依赖。

//配置插件编译项
    RocketX {
        openLog = true
        transFormList = ["sensorsAnalyticsAutoTrack","..xx"]
    }
trycatchx commented 2 years ago

还有就是moduleChangeTime里面只有changeTag吗?没有时间戳吗

是的,changeTag 就是通过整个模块所有资源lastmodifytime计算出来的唯一标识符,标识当前模块是否做了改动。

yejiabin9 commented 2 years ago

我刚刚看了一下缓存文件,发现连续两次不做任何修改,缓存文件里面大部分aar修改日期都变成刚刚编译的时间了 image

trycatchx commented 2 years ago

你可以在 build log 搜索 uploadLocalMaven 这个 关键字。看下是不是 每次不做变动都会 重新 打包 aar 并上传

trycatchx commented 2 years ago

@GHyejb #19 你是提过编译不过?现在可以编译了?

yejiabin9 commented 2 years ago

我把之前没法编译的model改成线上aar的,可以编译过去了,但是编译时间主要是在dexBuilderDebug比较长,开了插件大概15秒,没开8秒的样子

yejiabin9 commented 2 years ago

你可以在 build log 搜索 uploadLocalMaven 这个 关键字。看下是不是 每次不做变动都会 重新 打包 aar 并上传

我这我再试试,谢谢

trycatchx commented 2 years ago

我把之前没法编译的model改成线上aar的,可以编译过去了,但是编译时间主要是在dexBuilderDebug比较长,开了插件大概15秒,没开8秒的样子

是的 可以测试频繁修改同一个 module 的速度对比,目前我在这边测试发现如果使用了 transform 对 dexBuilderDebug 影响挺大,如果有使用建议关闭