受够了 Gradle - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pheyer
V2EX    Android

受够了 Gradle

  •  
  •   pheyer 2016-01-16 21:42:50 +08:00 14685 次点击
    这是一个创建于 3558 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本身做 iOS 开发的,最近有些东西需要看 Android 的代码,简单地看了一本书大概入门,直接从 Android Studio 上手。然后下载了几个 Github 上的 Android app 开源代码学习,每次都要在 Gradle 上卡半天时间,简直是受够了,有人说它像 CocoaPods ,真的感觉与 iOS 的 CocoaPods 一个地下一个天上啊
    觉得 Gradle 就像是一个重要的依赖库,不同的 app 用不同版本的 Gradle ,每个 app 都要去下一次,还都是 60 多 M 的东西,这设计思路是不是要得改改?
    刚开始是每次都要去下载 Gradle 文件,即使爬墙也很慢,后来学乖了,知道用 Use local gradle distrbution 了,然后就是在 Gradle: Configuring projects 那里总是卡,又是卡半天。。。这时间浪费得真是哗哗地。。
    一个 Android 新手的吐槽,大家随意看吧
    34 条回复    2016-01-18 09:05:32 +08:00
    kassadin
        1
    kassadin  
       2016-01-16 21:46:38 +08:00
    ~ du -sh .gradle
    2.8G .gradle
    int64ago
        2
    int64ago  
       2016-01-16 21:54:59 +08:00
    所以必须是 MBP 顶配才有资格做 Android 开发,不搞点门槛出来不能显 B 格

    比如我这个 Thinkpad 丝编译 Android 的时候

    pheyer
        3
    pheyer  
    OP
       2016-01-16 22:00:14 +08:00
    @kassadin 我这个新手都有这么多啦
    ~ du -sh .gradle
    1.0G .gradle
    另外发现.gradle/wrapper/dists/目录下的每个 gradle 版本都是不唯一的,在里面好像还要根据应用区分,在应用文件夹里 gradle 版本又可能与另一个应用文件夹的 gradle 版本,是一个版本但是有两份,无以吐槽
    kslr
        4
    kslr  
       2016-01-16 22:00:15 +08:00
    好几 G 啊好几 G
    pheyer
        5
    pheyer  
    OP
       2016-01-16 22:06:07 +08:00
    @kslr 反正我觉得这几天搞 Android 后我的硬盘空间缩水很快,昨天还是前天就警告磁盘空间不足了
    wizardforcel
        6
    wizardforcel  
       2016-01-16 22:08:10 +08:00 via Android
    没感觉。
    hongfeiyu
        7
    hongfeiyu  
       2016-01-16 22:13:28 +08:00
    一个应用只用加载一次吧
    而且 Eclipse 没这个
    westlinkin
        8
    westlinkin  
       2016-01-16 22:21:13 +08:00
    ~ du -sh .gradle
    5.2G .gradle
    AnotherM
        9
    AnotherM  
       2016-01-16 22:37:06 +08:00
    爬墙是啥?一个 hosts 搞定了 这货感觉比较好的就是想导入一些 Library 的比如 Android Design Support Library 时候,直接 compile 'com.android.support:design:23.1.1',还有,表示 i5-4210H 在打开依赖比较多的 app 的时候根本不够用, 8G 内存打开 Studio 直接没了一半,所以说真想玩好 studio 这货,没个 E5-2699 v3+4*8G 2133 DDR4 还真不行(误)
    pheyer
        10
    pheyer  
    OP
       2016-01-16 22:42:17 +08:00
    @AnotherM 就是翻越长城啊
    maomaomao001
        11
    maomaomao001  
       2016-01-16 22:52:38 +08:00 via Android
    @westlinkin as 有没有办法不用 gradle ,这个好慢啊
    可以像之前的 ADT 那样开发就好了
    AnotherM
        12
    AnotherM  
       2016-01-16 22:56:13 +08:00
    @pheyer 我用 doge 表情就代表我知道意思,你去老 D 博客翻翻他的 hosts 用一下再试试,如果还觉得慢,找到 studio 安装目录下 bin\studio.exe.vmoptions 和 studio64.exe.vmoptions 用 notepad 打开,改一下 xms 和 xmx 的值,具体大小视你内存而定, xmx 后面那两个的值也可以修改,具体是啥我也不了解,反正我是 xms1024m xmx4096m ,改完了比原来 gradle 编译快了将近 4 倍, PS 刚刚忘了说了,除了 E5 和 4*8G 你还需要一个 Intel SSD 750
    dabaitu
        13
    dabaitu  
       2016-01-16 22:58:33 +08:00
    最近升级了 2.0 感觉快了不少了已经
    hei1000
        14
    hei1000  
       2016-01-16 22:58:39 +08:00 via Android
    @pheyer 其实他肯定知道翻墙啦,只不过他用的 hosts 方式, hosts 的确更方便
    pheyer
        15
    pheyer  
    OP
       2016-01-16 23:01:43 +08:00
    @dabaitu 是吗,不知道 Gradle 改进了啥,我还在用 1.5.1
    pheyer
        16
    pheyer  
    OP
       2016-01-16 23:02:10 +08:00
    @AnotherM 后面我试一下,我用 Mac ,应该是一样的
    AnotherM
        17
    AnotherM  
       2016-01-16 23:14:59 +08:00
    @pheyer Mac 的我不知道,不过道理都是通过修改虚拟机内存最小限制和最大限制来加快速度,原来在 Windows 上 xmx 是 750 的时候,到了 gradle 构建时候这货就给我限制到了 400m ,改成 4096 之后,任务管理器看 studio 使用,轻松上 1.5g ,如果不是因为 i5 不够用估计会更快,还有上面说的 2.0 你可以试试,不过貌似主要快在了虚拟机和 gradle 构建上
    clino
        18
    clino  
       2016-01-16 23:21:49 +08:00
    我能说我看到这个主题内容会有点快感咩...
    其实构建这种东西还是用动态脚本语言来做比较合适
    bkmi
        19
    bkmi  
       2016-01-16 23:36:36 +08:00   2
    都不知道楼上的在说些什么,
    请注意!! Gradle 不是依赖库,而是一个构建工具。
    楼主何不花个半小时,了解一下 Gradle 。
    [不同的 app 用不同版本的 Gradle] ,这个是因为你使用的是 gradlew
    你可以下载一个最新的 Gradle ,然后将其加入 PATH 。。使用本地的 gradle 来进行构建,而不是下载。
    miao1007
        20
    miao1007  
       2016-01-16 23:47:16 +08:00
    JAVA_OPTS=-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8787 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8787
    MAVEN_OPTS=-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8787 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8787
    GRADLE_OPTS=-Dgradle.user.home=/Users/leon/.gradle
    dubuqingfeng
        21
    dubuqingfeng  
       2016-01-16 23:52:10 +08:00 via Android
    dubuqingfeng
        22
    dubuqingfeng  
       2016-01-16 23:53:54 +08:00 via Android
    @bkmi 嗯,同意。都没看懂上面的那些,现在 gradle 很好用啊,都 2.7 了,依赖管理和构建啊。
    mazyi
        23
    mazyi  
    PRO
       2016-01-17 00:33:27 +08:00
    是不是你的使用方式有问题,用起来感觉良好呀
    zhuangzhuang1988
        24
    zhuangzhuang1988  
       2016-01-17 00:38:02 +08:00 via Android
    对 gradle 撒火干嘛?
    a0000
        25
    a0000  
       2016-01-17 08:39:57 +08:00 via Android
    有墙的存在确实用起来莫名其妙,都不知道具体卡在哪里了
    bombshell
        26
    bombshell  
       2016-01-17 11:02:03 +08:00
    @dubuqingfeng 不是都 2.10 了吗。。
    zhgg0
        27
    zhgg0  
       2016-01-17 12:15:12 +08:00
    ADT 换 Android Studio 大半年了,从没这感觉啊。
    pheyer
        28
    pheyer  
    OP
       2016-01-17 12:32:48 +08:00
    @bkmi 知道是构建工具,所以我用了“像”,原文“觉得 Gradle 就像是一个重要的依赖库
    加入 PATH 之后 AS 就会自动用本地 Gradle 构建吗?还需要设置 Offline ?或者是你这个只适合命令行?
    bkmi
        29
    bkmi  
       2016-01-17 13:19:32 +08:00
    @pheyer 在 as 设置 gradle 里有两个选项,分别是
    Use default gradle weapper(recommended)
    Use local gradle distribution

    默认选中的是第一项,选中第二项并指定本地 gradle 路径。
    另外在导入项目时,通常会询问使用 wrapper 还是本地的,注意选择使用本地(cancel)
    Offline work 在你构建成功一次之后 可以选择开启,影响不大。
    bkmi
        30
    bkmi  
       2016-01-17 13:22:42 +08:00
    @pheyer 当然 as 很多地方很不人性,反人类,甚至是弱智,这个我十分有感受,但是搞懂原理后就容易多了。
    ladddd
        31
    ladddd  
       2016-01-17 15:56:26 +08:00
    gradle 的语法在某几个版本间发生过变化,用本地的 gradle 构建采用老版本的工程时会提示语法错误。
    pheyer
        32
    pheyer  
    OP
       2016-01-17 20:26:57 +08:00
    @ladddd 所以要多准备几个版本
    justjavac
        33
    justjavac  
       2016-01-18 06:22:45 +08:00 via Android
    为什么不好好看看文档呢?
    ppwangs
        34
    ppwangs  
       2016-01-18 09:05:32 +08:00
    λ du -sh .gradle\
    127M .gradle\

    等玩转了再说吧。。
    PS , server 端开发,依赖库用的是 maven ,地址在另外一个地方,累计了 3 、 4 年的大小:
    λ du -sh maven\
    1.9G maven\
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1057 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 18:23 PVG 02:23 LAX 11:23 JFK 14:23
    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