V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
bleaker

Android Studio 远程编译

  •  
  •   bleaker · Nov 3, 2016 via iPhone · 6089 views
    This topic created in 3473 days ago, the information mentioned may be changed or developed.
    现在我有一个废品 13 寸低压 mbp ,每次编译可以泡杯咖啡

    家里还有一个可以常年开机的 Windows 电脑,性能很好,同时路由器上 DDNS 正常

    于是萌发了远程编译的想法。一个解决方案是 BitTorrent Sync 项目目录,然后 SSH 过去 gradle build ;一个是在家里电脑上部署一个 Jenkins 。想了想这俩方案都不怎么靠谱。

    求各位帮忙想想主意(加钱换电脑之类的就算了)
    16 replies    2016-11-07 14:07:43 +08:00
    run2
        1
    run2  
       Nov 3, 2016
    git 传到公网, webhook 激活本地 clone+编译 然后编译好的 apk 传到又拍云/七牛云?
    Lonely
        3
    Lonely  
       Nov 3, 2016
    楼上的方法可行, Jenkins 就不错
    scola
        4
    scola  
       Nov 3, 2016
    我们厂里就是用服务器编译,然后下载 apk 的
    tomczhen
        5
    tomczhen  
       Nov 3, 2016
    带宽不够的话,还是得泡咖啡。:doge:
    haogefeifei
        6
    haogefeifei  
       Nov 3, 2016
    说起来我个 15 寸 rmbp 都觉得真慢。。。 战略 mark
    zcljy
        7
    zcljy  
       Nov 3, 2016
    服务器+Jenkins 正解
    bleaker
        8
    bleaker  
    OP
       Nov 3, 2016
    @zcljy
    @Lonely
    @sobigfish

    各种 CI 的问题是 Windows 部署非常麻烦而且有坑,所以比较尴尬;理想的用例是直接一个 ctrl+r 然后触发云端编译然后 studio 把编译好的 apk 安装到手机上,配置好之后就完全对用户透明了...
    tomczhen
        9
    tomczhen  
       Nov 3, 2016
    @bleaker 没什么问题,配合 docker on windows 可以解决很多问题。 agent 跑 docker 里面就能解决编译环境问题,而且只是 android 的话 windows 下面加好 java 编译器参数也是一样的。
    假设带宽不是问题,首先需要一个公网仓库,通过 git hook 触发 ci 构建,构建完成后上传。
    gradle 本地脚本中要增加下载,安装 apk 的 step ,基本上就能实现了。
    run2
        10
    run2  
       Nov 3, 2016
    不用 CI 的话,自己写脚步 clone / build / 用 sdk/tool (qrsync ?)上传至云

    国内网络确实各种坑 (我报了个 gradle 服务器 403 的 https://asciinema.org/a/89604 ),传到服务器编译好像好些
    bleaker
        11
    bleaker  
    OP
       Nov 3, 2016
    @tomczhen 对哦,都忘了 docker 了,感谢提醒,周末折腾一下试试

    @sobigfish 我就在 Qiniu ,然而在办公室从自家网站下东西好像也。。。并不很快。。。
    zcljy
        12
    zcljy  
       Nov 3, 2016
    @bleaker 你说的这个方案能分享一下么? tks
    bleaker
        13
    bleaker  
    OP
       Nov 3, 2016
    @zcljy 等我折腾完之后写一篇吧
    parkcg
        14
    parkcg  
       Nov 3, 2016 via Android
    也有可能是配置原因吧,我之前的电脑最开始也花个几分钟。现在十来秒就能编译。
    zcljy
        15
    zcljy  
       Nov 4, 2016
    @bleaker 大神写完请 @我 orz
    lomanyong
        16
    lomanyong  
       Nov 7, 2016   ❤️ 1
    好早以前还没买 Mac 的时候也折腾过这种方案...但是对于一个本地调试还需要这么麻烦的话其实耗时也是很多的,主要还是不方便,而且 sync 经常不及时...

    不要脸地推荐我们自己做的解决方案,类似 Instant Run ,不过从反馈的效果来看要好很多。

    可以见 Github : https://github.com/alibaba/freeline
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5611 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 115ms · UTC 08:26 · PVG 16:26 · LAX 01:26 · JFK 04:26
    ♥ Do have faith in what you're doing.