jon97
V2EX  ›  Android

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

  •  
  •   jon97 · Apr 17, 2024 · 9752 views
    This topic created in 781 days ago, the information mentioned may be changed or developed.

    已知:

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