我们公司的 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
1
v2zhao 10 小时 21 分钟前
这个很复杂 从依赖解析到编译, 跑下性能看看那个有瓶颈
|
2
bootvue 10 小时 10 分钟前
重构
|
3
lw0x1 10 小时 8 分钟前 项目有分模块化么,gradle 版本有升级吗?不应这么慢啊,我现在也是维护一个老项目,全是屎山代码,Java+kotlin 混编的,电脑配置是 13600K+32G 内存,改动代码后编译项目最慢的情况下也只要 1-2 分钟(run 的时候),快的话四五十秒
|
4
devloperchen OP @bootvue 不可能!没有时间给你重构!
|
5
devloperchen OP @lw0x1 分了,不过不严谨,大部分功能还是在 main 模块。gradle 永远是最新的。郁闷啊!严重拖慢编译速度
|
6
WuwuGin 9 小时 47 分钟前
Windows 的 io 很烂,换成 sublinux 都能提速很多,亲测
|
7
lw0x1 9 小时 45 分钟前
@devloperchen 不太理解,会不会是你项目的三方库太多了,github 上面的那种库,你这编译十几二十分钟也太离谱了
|
8
linhua 9 小时 38 分钟前
Android Studio 下面的编译窗口,有占用时间分析,看看是哪块占了时间
|
9
simpleman 9 小时 38 分钟前
不是开发者的问题,Android Studio ,gradle 就是这么垃圾。
|
10
devloperchen OP @WuwuGin 把项目放到 WSL 里?然后在 Windows 中编译开发?
|
11
devloperchen OP @lw0x1 库确实很多,但是也没有升级库,没有改动库,改 gradle 脚本编译慢我理解。不过,刚才问了一下 cluade Opus 4.5 它认为有些核心文件如果被修改了,就会编译慢
|
12
h1298841903 8 小时 49 分钟前
右上角的 gradle 图标,里面再点击离线图标,可以避免网络请求,这是我的一点经验。
|
13
wobuhuicode 8 小时 46 分钟前 用 M 版的 macbook 打包会快很多。
|
14
Vindroid 8 小时 44 分钟前
凑合用吧,老项目乱改、升版本一堆错误要修
|
15
youhu666 8 小时 38 分钟前
我们这个 IPABUILD 的打包三分钟
|
16
youhu666 8 小时 36 分钟前
|
17
crayygy 8 小时 34 分钟前
有 C/C++ 代码吗?有的话,正常,特别是当你改了某些比较底层的头文件的时候,链接很耗时间。
通常来说可以打开 build tab ,看一下编译的耗时情况,哪些 task 占用的比较多 |
18
kuanat 8 小时 17 分钟前
先考虑提升硬件看看。
以全量编译 aosp 为例,在公司老的 e5 服务器上,大概要四个半小时左右。放到同事今年新买的笔记本上,70w 性能模式大概只要两个小时不到,从 32g 升级到 64g 内存之后,又能提升接近 15 分钟。后面增量编译大概在 10~20 分钟不等。 |
19
liu731 PRO 是不是有魔改 build ,之前接手过全图片混淆的项目。
|
20
tanranran 7 小时 29 分钟前
最简单的办法,先升级内存,然后在升级 CPU
|
21
CodingIran 6 小时 19 分钟前
再慢能有 Xcode 编译慢 🐶
|
22
MegatronKing 6 小时 7 分钟前
全量编译慢很正常,尽量把一些模块预编译,以 library 形式接入进来。
|
23
anan1314git 5 小时 14 分钟前
@CodingIran 还真比 Xcode 慢很多, 我们公司同一个电商 APP, 功能一致, iOS 的编译差不多也就三四分钟, Android 的十分钟起步, 也不知道是投了什么毒😂
|
24
rb6221 4 小时 16 分钟前
10 年老项目,是时候重构一波了
|
25
Gekou 3 小时 57 分钟前
电脑垃圾吧,光内存大没用,cpu 呢
|
26
HarryQu 2 小时 47 分钟前
1. 项目当中有很多的字节码插件吗?有些插件实现的有问题,会导致增量编译失效或者编译速度变慢。
2. 模块化拆分 aar 后依赖,module 多的话也会影响编译。 3. 换更高配置的电脑,Android Stuido 是吃内存和 CPU 的大户。 |
27
WuwuGin 1 小时 40 分钟前
@devloperchen 对,我这边的案例是放 WSL 里,用 wsl 的命令行编译,比在 ide 中快很多。只不过相比之下很折腾就是了。最终换 MBP 一了百了😅
|
28
HongJay 1 小时 24 分钟前
就换 cpu 就行了,别想着优化
|