android studio 首次编译太慢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jeesk
V2EX    Android

android studio 首次编译太慢

  •  
  •   jeesk 2022-09-29 11:10:14 +08:00 12758 次点击
    这是一个创建于 1107 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    48 条回复    2022-10-01 13:58:03 +08:00
    sunbeams001
        1
    sunbeams001  
       2022-09-29 11:17:56 +08:00
    有没有可能,gradle 代理要单独设置,不走 Android Studio
    jeesk
        2
    jeesk  
    OP
       2022-09-29 11:30:48 +08:00
    @sunbeams001
    #Thu Sep 29 10:37:03 CST 2022
    systemProp.http.proxyHost=127.0.0.1
    systemProp.http.proxyPort=1085
    systemProp.https.proxyHost=127.0.0.1
    systemProp.https.proxyPort=1085
    jeesk
        3
    jeesk  
    OP
       2022-09-29 11:31:41 +08:00
    @sunbeams001 配置了, 下载依赖的时候, 下着下着就 443 了, 梯子很稳, 就是在 android studio 里面各种慢。 今天上午编译 v2rayng , 现在都没下载好依赖。
    youxiachai
        4
    youxiachai  
       2022-09-29 11:33:02 +08:00
    你配个国内的镜像不就行了...
    jeesk
        5
    jeesk  
    OP
       2022-09-29 11:43:03 +08:00
    @youxiachai

    maven { url 'https://maven.aliyun.com/repository/public' }
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    mavenLocal()
    mavenCentral()
    google()
    maven { url 'https://jitpack.io' }


    配置了, 完全没用。 我怀疑就是 android studio 在搞鬼。
    youxiachai
        6
    youxiachai  
       2022-09-29 11:52:36 +08:00
    为啥..我咋没你这么多事....
    closedevice
        7
    closedevice  
       2022-09-29 11:53:45 +08:00
    所以是 sync 慢还是单纯的编译慢?
    106npo
        8
    106npo  
       2022-09-29 11:55:12 +08:00 via Android
    有没有可能 你有依赖是远端实时编译的
    debuggerx
        9
    debuggerx  
       2022-09-29 11:56:11 +08:00
    @jeesk 不要没理由的怀疑 那是成见。。。
    想测试也很简单,不用打开按时,直接命令行运行 gradlew 脚本编译,这样如果还是慢,就怪不到 as 头上了吧
    debuggerx
        10
    debuggerx  
       2022-09-29 11:56:36 +08:00
    @debuggerx 不用打开按时 -> 不用打开 AS
    unco020511
        11
    unco020511  
       2022-09-29 12:01:10 +08:00
    下载 gradle 确实会有点慢,虽然已镜有国内的 cdn,但似乎也不好用. 首次编译会去下载对应版本的 gradle,你可以先下载好对应版本的 gradle,或者先在源码里把 gradle 改成你本地已有的版本.与你拉取一些三方库关系不大
    jeesk
        12
    jeesk  
    OP
       2022-09-29 12:21:54 +08:00
    @unco020511 gradle.zip 我用的是 huawei 的镜像。 只是下载依赖很慢
    jeesk
        13
    jeesk  
    OP
       2022-09-29 12:33:15 +08:00
    @debuggerx 刚才测试了, 就是 as 的锅。 不开 as , 编译速度很快了。

    坑爹呀。 直接用 gradlw 编译也才 2 分钟。
    BUILD SUCCESSFUL in 1m 55s
    95 actionable tasks: 42 executed, 53 up-to-date
    systemcall
        14
    systemcall  
       2022-09-29 12:37:07 +08:00
    Android Studio 走 HTTP 代理很麻烦
    建议试试 TUN 模式,CFW 或者 Netch 都有 TUN 模式
    jeesk
        15
    jeesk  
    OP
       2022-09-29 12:44:07 +08:00
    @systemcall 电脑没安装 ss , 一般是手机安装了 v2ray 或者 ss, 电脑直接配置代理。
    debuggerx
        16
    debuggerx  
       2022-09-29 12:46:14 +08:00   1
    @jeesk 测了个寂寞 依赖都下完了编译当然快
    showmethetalk
        17
    showmethetalk  
       2022-09-29 13:00:14 +08:00
    @jeesk #13 你这都 up-to-date 了
    DefoliationM
        18
    DefoliationM  
       2022-09-29 13:02:38 +08:00 via Android
    找个厂上班吧,你不适合写安卓
    leegradyllljjjj
        19
    leegradyllljjjj  
       2022-09-29 13:18:44 +08:00
    GFW + 配置地狱,这比接手屎山代码还难受
    jeesk
        20
    jeesk  
    OP
       2022-09-29 13:20:04 +08:00
    @debuggerx 刚才吃了个饭才把依赖下载好。
    imzcg2
        21
    imzcg2  
       2022-09-29 13:25:47 +08:00
    装个 clash verge 开 tun
    imzcg2
        22
    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
        23
    imzcg2  
       2022-09-29 13:29:12 +08:00
    华为 maven 镜像是我见过最快的了
    pC0oc4EbCSsJUy4W
        24
    pC0oc4EbCSsJUy4W  
       2022-09-29 15:06:59 +08:00
    你没完全代理上
    jeesk
        25
    jeesk  
    OP
       2022-09-29 15:12:17 +08:00
    @imzcg2 华为 mirror 确实快。
    jeesk
        26
    jeesk  
    OP
       2022-09-29 15:27:20 +08:00
    @fatelight 肯定代理上的呀。 没代理能不报错?
    xFrye
        27
    xFrye  
       2022-09-29 15:28:55 +08:00
    可能是姿势不对吧,你 as 里面的 proxy 设置完测试下看能不能成功代理了,实在不行就删了重装。我是不太建议用国内的仓库镜像的,比如阿里云之类的,以前偶尔遇到过一些依赖没法拉下来导致构建失败
    jeesk
        28
    jeesk  
    OP
       2022-09-29 15:34:39 +08:00
    我说说我的情况吧, 第一次拉取项目建议使用使用命令行编译, 如果使用 as 会导致一直 build 。在第一次编译完成后再使用 as 去操作, 不会有太大的速度差异。
    Kasumi20
        29
    Kasumi20  
       2022-09-29 16:34:49 +08:00
    没猜错的话,你这个 1085 端口是 socks5 代理吧,哈哈

    socksProxyHost
    jeesk
        30
    jeesk  
    OP
       2022-09-29 16:44:08 +08:00
    @Kasumi20 不好意思, 我以为我真的记错了。 我又去看内部文档,1085 同事搭建的确实是 http
    HangoX
        31
    HangoX  
       2022-09-29 16:55:28 +08:00
    不是编译慢,楼主是值 sync 慢吧?首次打开进行了一个 sync ,会下载 source.jar 很多实际是没雨这个文件的,只能等超时,依赖一多就开始一直等
    jeesk
        32
    jeesk  
    OP
       2022-09-29 17:02:34 +08:00
    @HangoX 你的这个说法正确, 第一次下载太慢, 会导致多次失败。 刚才又测试了一下, 将 gradle 缓存清理后, 使用 gradle 命令下载,速度就正常了。as 的 sync 还是很慢
    AoEiuV020CN
        33
    AoEiuV020CN  
       2022-09-29 17:49:59 +08:00
    gradle 确实很多东西要下载,比以前的 ant 、Eclipse 慢得多,但要说多慢也不至于,
    谷歌 dl 域名是没有被墙的,正常不上梯子也能用的,
    我平时 as 不设置代理,只 gradle 全局设置了 http 代理,没觉得多慢,
    Helsing
        34
    Helsing  
       2022-09-29 18:47:38 +08:00 via iPhone
    全部代理关掉试试,现在 gradle 国内已经有加速了
    JayFang1993
        35
    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
        36
    HangoX  
       2022-09-29 19:45:25 +08:00
    我调试过这个沙雕问题。我们有自己的缓存仓库,所以同步应该是非常快的,但是我清空 gradle 缓存之后,sync 要等半个小时,抓包发现 as 在下载 source.jar ,每个都是没有的,然后一直都等超时。
    我用命令行编译,直接就是可以编译成功的,同步 source.jar 是 as 的行为。
    最近我找到一个 gradle 的插件,叫 idea ,文档说是可以控制 as 不下载 source ,但是还没有空测试是不是真的可以
    @jeesk
    jeesk
        37
    jeesk  
    OP
       2022-09-29 20:02:15 +08:00
    @JayFang1993 镜像我用的是华为的。
    JayFang1993
        38
    JayFang1993  
       2022-09-29 23:19:59 +08:00
    @jeesk 是 gradle wrapper 不是 repositories
    fan123199
        39
    fan123199  
       2022-09-30 01:16:44 +08:00
    gradle.properties 的截图是项目的还是全局的?确认下要项目目录下的。另外如果开了代理,但是代理软件是全局的,那么 maven 就直接用 google() central 等, 不要用 aliyun 试试。
    @jeesk
    fengziyun
        40
    fengziyun  
       2022-09-30 03:26:51 +08:00 via Android
    全局呢?
    jeesk
        41
    jeesk  
    OP
       2022-09-30 04:46:58 +08:00 via Android
    些帖已经终结,建议首次编译使用命令行下载依赖, 不会造成 gradle sync 长时卡顿。
    WispZhan
        42
    WispZhan  
       2022-09-30 07:24:14 +08:00 via Android
    @jeesk plugin 的配错了
    jeesk
        43
    jeesk  
    OP
       2022-09-30 10:35:22 +08:00
    @WispZhan 我 clone 别人的官方仓库还有错?
    WispZhan
        44
    WispZhan  
       2022-09-30 12:49:23 +08:00 via Android
    @jeesk plugin 的 mirror 在独立的 block 里设置的
    Anonywp
        45
    Anonywp  
       2022-09-30 14:36:39 +08:00
    建议是别走代理,本身谷歌 dl 已经在国内有了,其他第三方包用镜像,镜像是可以设置全局级别的
    learningman
        46
    learningman  
       2022-09-30 18:59:09 +08:00
    @Anonywp #45 dl.google.com 寄了,今天就因为这个调试了半天,因为这条默认在规则里走直连
    gtanyin
        47
    gtanyin  
       2022-10-01 13:24:04 +08:00
    @learningman 一样,昨天和今天也因为这个卡了很久,后来才发现寄了
    learningman
        48
    learningman  
       2022-10-01 13:58:03 +08:00
    @gtanyin #47 gradle 还不报错,就硬卡着,开 debug 才调出来
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3078 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:02 PVG 19:02 LAX 04:02 JFK 07:02
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86