android studio 首次编译太慢

2022-09-29 11:10:14 +08:00
 jeesk

自己搭建的梯子日常使用可以跑到 30m 左右。 但是配置到 android studio 的代理后,经常下载东西都要 1~2 个小时才能编译好, 项目很小, 没几个依赖。电脑 32G+ i7 8750 ,其他像 idea 的 spring cloud , 或者 golang 的项目也就几分钟就编译好了。 不知道 android studio 为什么这么垃圾 大家有遇见过吗?

5781 次点击
所在节点    Android
48 条回复
imzcg2
2022-09-29 13:25:47 +08:00
装个 clash verge 开 tun
imzcg2
2022-09-29 13:28:43 +08:00
还有 maven 镜像请使用华为镜像源
Gradle 的配置文件为用户根目录下的:~/.gradle/init.gradle ( Windows 路径为:C:\Users\<UserName>\.gradle\ init.gradle ),您可以点击此处直接下载配置文件进行覆盖。如果您不想覆盖配置文件,也可以按照如下方式进行配置:

allprojects {
repositories {
maven {
url 'https://repo.huaweicloud.com/repository/maven/'
}
}
buildscript {
repositories {
maven {
url 'https://repo.huaweicloud.com/repository/maven/'
}
}
}
}
imzcg2
2022-09-29 13:29:12 +08:00
华为 maven 镜像是我见过最快的了
fatelight
2022-09-29 15:06:59 +08:00
你没完全代理上
jeesk
2022-09-29 15:12:17 +08:00
@imzcg2 华为 mirror 确实快。
jeesk
2022-09-29 15:27:20 +08:00
@fatelight 肯定代理上的呀。 没代理能不报错?
xFrye
2022-09-29 15:28:55 +08:00
可能是姿势不对吧,你 as 里面的 proxy 设置完测试下看能不能成功代理了,实在不行就删了重装。我是不太建议用国内的仓库镜像的,比如阿里云之类的,以前偶尔遇到过一些依赖没法拉下来导致构建失败
jeesk
2022-09-29 15:34:39 +08:00
我说说我的情况吧, 第一次拉取项目建议使用使用命令行编译, 如果使用 as 会导致一直 build 。在第一次编译完成后再使用 as 去操作, 不会有太大的速度差异。
Kasumi20
2022-09-29 16:34:49 +08:00
没猜错的话,你这个 1085 端口是 socks5 代理吧,哈哈

socksProxyHost
jeesk
2022-09-29 16:44:08 +08:00
@Kasumi20 不好意思, 我以为我真的记错了。 我又去看内部文档,1085 同事搭建的确实是 http
HangoX
2022-09-29 16:55:28 +08:00
不是编译慢,楼主是值 sync 慢吧?首次打开进行了一个 sync ,会下载 source.jar 很多实际是没雨这个文件的,只能等超时,依赖一多就开始一直等
jeesk
2022-09-29 17:02:34 +08:00
@HangoX 你的这个说法正确, 第一次下载太慢, 会导致多次失败。 刚才又测试了一下, 将 gradle 缓存清理后, 使用 gradle 命令下载,速度就正常了。as 的 sync 还是很慢
AoEiuV020CN
2022-09-29 17:49:59 +08:00
gradle 确实很多东西要下载,比以前的 ant 、Eclipse 慢得多,但要说多慢也不至于,
谷歌 dl 域名是没有被墙的,正常不上梯子也能用的,
我平时 as 不设置代理,只 gradle 全局设置了 http 代理,没觉得多慢,
Helsing
2022-09-29 18:47:38 +08:00
全部代理关掉试试,现在 gradle 国内已经有加速了
JayFang1993
2022-09-29 19:35:44 +08:00
gradle-wrapper 里面的

distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-5.4.1-all.zip

换成国内的镜像
HangoX
2022-09-29 19:45:25 +08:00
我调试过这个沙雕问题。我们有自己的缓存仓库,所以同步应该是非常快的,但是我清空 gradle 缓存之后,sync 要等半个小时,抓包发现 as 在下载 source.jar ,每个都是没有的,然后一直都等超时。
我用命令行编译,直接就是可以编译成功的,同步 source.jar 是 as 的行为。
最近我找到一个 gradle 的插件,叫 idea ,文档说是可以控制 as 不下载 source ,但是还没有空测试是不是真的可以
@jeesk
jeesk
2022-09-29 20:02:15 +08:00
@JayFang1993 镜像我用的是华为的。
JayFang1993
2022-09-29 23:19:59 +08:00
@jeesk 是 gradle wrapper 不是 repositories
fan123199
2022-09-30 01:16:44 +08:00
gradle.properties 的截图是项目的还是全局的?确认下要项目目录下的。另外如果开了代理,但是代理软件是全局的,那么 maven 就直接用 google() central 等, 不要用 aliyun 试试。
@jeesk
fengziyun
2022-09-30 03:26:51 +08:00
全局呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX