V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

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

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
bleaker
V2EX  ›  奇思妙想

Android Studio 远程编译

  •  
  •   bleaker · 2016-11-03 01:20:59 +08:00 via iPhone · 5367 次点击
    这是一个创建于 2934 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在我有一个废品 13 寸低压 mbp ,每次编译可以泡杯咖啡

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

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

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

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

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

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

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

    可以见 Github : https://github.com/alibaba/freeline
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1227 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:11 · PVG 07:11 · LAX 15:11 · JFK 18:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.