V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
john6lq
V2EX  ›  Android

请教测试安卓全量编译耗时的操作步骤

  •  
  •   john6lq · 223 天前 · 5154 次点击
    这是一个创建于 223 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已知:

    • Gradle 有缓存
    • clean project 不会清除缓存
    • 测试 invalidate cache and restart 也不会清除缓存

    现状:

    使用rm -rf ~/.gradle/caches/build-cache-1; zsh ~/AndroidStudioProjects/CE/gradlew clean; time zsh ./AndroidStudioProjects/CE/gradlew assembleDebug --warning-mode none; say done; 完成

    不知道这种方式准不准确。

    5 条回复    2024-04-19 10:53:25 +08:00
    dengxuejiu
        1
    dengxuejiu  
       223 天前
    一般来说不需要清除 gradle 的 cache ,先 clean 然后 assembleDebug 就可以了,我习惯生产环境在 Jenkins 上会加上 ./gradlew --stop
    idonttellyou
        2
    idonttellyou  
       222 天前
    大佬,测这个耗时有什么作用吗?
    john6lq
        3
    john6lq  
    OP
       222 天前
    @idonttellyou 比如说做了些编译优化的工作或者用了别人的编译优化的工具,不得测一测具体数据嘛?比如谷歌吹 KSP 多快多好,K2 编译器多快多好,我们还是得有数据支撑才能说服组内小伙伴用这个工具的。
    idonttellyou
        4
    idonttellyou  
       222 天前
    @john6lq 哦哦,大佬方便说说编译速度这里有用到什么好用的工具吗?我大部分时间都是在小作坊单打独斗,都没考虑过这些。
    john6lq
        5
    john6lq  
    OP
       221 天前
    @idonttellyou 从 Android Studio 每次编译后的 `Build Analyzer` 面板其实就可以看出 Task 的耗时占比,目前来说,能做的其实不多,KSP 、K2 、Configuration Cache 这些用上就差不多可以了。其实很多耗时都是三方插件太多导致,当然,大厂也有一些编译提速的方案(比如得物的 Wade Plugin ),但我感觉绝大部分项目都没必要用这种魔改的方案,还不知道会不会有兼容性问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1329 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.