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

Android Studio 编译太慢了

  •  
  •   devloperchen · 10 小时 24 分钟前 · 1442 次点击

    我们公司的 App 项目差不多有 10 年了,功能越多越多。32G 的 Windows 系统有时候改一点东西编译需要十几二十分钟,CPU 、内存经常 90% ~ 100%。也改 JVM 编译内存,并行编译。都不是很理想!

    另外,我发现同时开启 vs Code ,OpenJDK Platform binary 好像暴增

    org.gradle.jvmargs=-Xmx6g -XX:MetaspaceSize=1g -XX:MaxMetaspaceSize=2g -XX:+UseParallelGC -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    kotlin.daemon.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g -XX:+UseParallelGC
    org.gradle.parallel=true
    
    28 条回复    2025-11-28 00:50:31 +08:00
    v2zhao
        1
    v2zhao  
       10 小时 21 分钟前
    这个很复杂 从依赖解析到编译, 跑下性能看看那个有瓶颈
    bootvue
        2
    bootvue  
       10 小时 10 分钟前
    重构
    lw0x1
        3
    lw0x1  
       10 小时 8 分钟前   ❤️ 1
    项目有分模块化么,gradle 版本有升级吗?不应这么慢啊,我现在也是维护一个老项目,全是屎山代码,Java+kotlin 混编的,电脑配置是 13600K+32G 内存,改动代码后编译项目最慢的情况下也只要 1-2 分钟(run 的时候),快的话四五十秒
    devloperchen
        4
    devloperchen  
    OP
       10 小时 3 分钟前
    @bootvue 不可能!没有时间给你重构!
    devloperchen
        5
    devloperchen  
    OP
       10 小时 2 分钟前
    @lw0x1 分了,不过不严谨,大部分功能还是在 main 模块。gradle 永远是最新的。郁闷啊!严重拖慢编译速度
    WuwuGin
        6
    WuwuGin  
       9 小时 47 分钟前
    Windows 的 io 很烂,换成 sublinux 都能提速很多,亲测
    lw0x1
        7
    lw0x1  
       9 小时 45 分钟前
    @devloperchen 不太理解,会不会是你项目的三方库太多了,github 上面的那种库,你这编译十几二十分钟也太离谱了
    linhua
        8
    linhua  
       9 小时 38 分钟前
    Android Studio 下面的编译窗口,有占用时间分析,看看是哪块占了时间
    simpleman
        9
    simpleman  
       9 小时 38 分钟前
    不是开发者的问题,Android Studio ,gradle 就是这么垃圾。
    devloperchen
        10
    devloperchen  
    OP
       9 小时 27 分钟前
    @WuwuGin 把项目放到 WSL 里?然后在 Windows 中编译开发?
    devloperchen
        11
    devloperchen  
    OP
       9 小时 25 分钟前
    @lw0x1 库确实很多,但是也没有升级库,没有改动库,改 gradle 脚本编译慢我理解。不过,刚才问了一下 cluade Opus 4.5 它认为有些核心文件如果被修改了,就会编译慢
    h1298841903
        12
    h1298841903  
       8 小时 49 分钟前
    右上角的 gradle 图标,里面再点击离线图标,可以避免网络请求,这是我的一点经验。
    wobuhuicode
        13
    wobuhuicode  
       8 小时 46 分钟前   ❤️ 1
    用 M 版的 macbook 打包会快很多。
    Vindroid
        14
    Vindroid  
       8 小时 44 分钟前
    凑合用吧,老项目乱改、升版本一堆错误要修
    youhu666
        15
    youhu666  
       8 小时 38 分钟前
    我们这个 IPABUILD 的打包三分钟
    youhu666
        16
    youhu666  
       8 小时 36 分钟前
    有 IPA 编辑需求的可以了解一下这个工具——

    https://www.ipabuild.com
    crayygy
        17
    crayygy  
       8 小时 34 分钟前
    有 C/C++ 代码吗?有的话,正常,特别是当你改了某些比较底层的头文件的时候,链接很耗时间。
    通常来说可以打开 build tab ,看一下编译的耗时情况,哪些 task 占用的比较多
    kuanat
        18
    kuanat  
       8 小时 17 分钟前
    先考虑提升硬件看看。

    以全量编译 aosp 为例,在公司老的 e5 服务器上,大概要四个半小时左右。放到同事今年新买的笔记本上,70w 性能模式大概只要两个小时不到,从 32g 升级到 64g 内存之后,又能提升接近 15 分钟。后面增量编译大概在 10~20 分钟不等。
    liu731
        19
    liu731  
    PRO
       8 小时 13 分钟前
    是不是有魔改 build ,之前接手过全图片混淆的项目。
    tanranran
        20
    tanranran  
       7 小时 29 分钟前
    最简单的办法,先升级内存,然后在升级 CPU
    CodingIran
        21
    CodingIran  
       6 小时 19 分钟前
    再慢能有 Xcode 编译慢 🐶
    MegatronKing
        22
    MegatronKing  
       6 小时 7 分钟前
    全量编译慢很正常,尽量把一些模块预编译,以 library 形式接入进来。
    anan1314git
        23
    anan1314git  
       5 小时 14 分钟前
    @CodingIran 还真比 Xcode 慢很多, 我们公司同一个电商 APP, 功能一致, iOS 的编译差不多也就三四分钟, Android 的十分钟起步, 也不知道是投了什么毒😂
    rb6221
        24
    rb6221  
       4 小时 16 分钟前
    10 年老项目,是时候重构一波了
    Gekou
        25
    Gekou  
       3 小时 57 分钟前
    电脑垃圾吧,光内存大没用,cpu 呢
    HarryQu
        26
    HarryQu  
       2 小时 47 分钟前
    1. 项目当中有很多的字节码插件吗?有些插件实现的有问题,会导致增量编译失效或者编译速度变慢。
    2. 模块化拆分 aar 后依赖,module 多的话也会影响编译。
    3. 换更高配置的电脑,Android Stuido 是吃内存和 CPU 的大户。
    WuwuGin
        27
    WuwuGin  
       1 小时 40 分钟前
    @devloperchen 对,我这边的案例是放 WSL 里,用 wsl 的命令行编译,比在 ide 中快很多。只不过相比之下很折腾就是了。最终换 MBP 一了百了😅
    HongJay
        28
    HongJay  
       1 小时 24 分钟前
    就换 cpu 就行了,别想着优化
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:14 · PVG 02:14 · LAX 10:14 · JFK 13:14
    ♥ Do have faith in what you're doing.