在远程Ubuntu上编译Android工程

最近Android工程越来越大了,AndroidStudio编译起来越来越慢,编译的时候就电脑卡死,当然更换电脑应该是最好的办法啦,但是这个要实现起来是有困难的,所以想了下,得找另一台专门的机器来编译,这样就不至于卡死了。

准备工作


找机器&安装Ubuntu

找了台专门的PC机,首选必须是CPU强劲点的,但是有时候你不一定有得选, 那就这样吧。

打开Ubuntu的官网发现最新已经到16.04了,那就它了,下载Ubuntu Desktop版本,然后通过UltraISO把iso镜像写入到U盘,制作成启动盘,接下来就可以从U盘启动然后安装Ubuntu,具体怎么搞就不多说了,网上一搜一大把。

不过Ubuntu有很多个版本,如果想试试别的发行版的话,倒是可以参考Ubuntu的wiki

Ubuntu安装好了

安装SVN工具

因为我的代码还是托管在SVN服务器上面,所以SVN还是需要安装的,不过好在这个可以通过apt命令来安装

sudo apt-get install subversion

安装Android SDK & NDK

这个还是有点麻烦的,Android的官网 是在developer.android.com这个域名下的,而这个域名被墙了,得翻墙。

不过在2016年底的Google开发者大会上宣布为开发者启用了developers.google.cn, developer.android.google.cn, firebase.google.cn这三个CN的域名,这意味着中国的开发者不用翻墙也可以访问Android官网啦,AndroidStudio下载页面在这,AndroidStudio下载后到设置里边打开SDK 管理器里边,把工程编译所需要的tools,Platform-tools,platform,build-tools,ndk,Support库都下载好。

// 下载android-studio的 linux版本
wget https://dl.google.com/dl/android/studio/ide-zips/2.2.3.0/android-studio-ide-145.3537739-linux.zip

//unzip 解压zip
unzip android-studio-ide-145.3537739-linux.zip

//启动AndroidStudio
./{path}/android-studio/bin/studio.sh

然后再把sdk、ndk的路径加入到环境变量,就可以直接执行命令行调用。

安装Gradle编译工具

这一步其实是可选的,因为一般工程里边都会自带了gradlew的批处理工具,执行gradlew build会自动去下载对应版本的的Gradle,然后解压,然后使用下载的gradle去编译工程的,当然在网络情况一般的情况下,在第一次编译的时候会非常慢,还是自己手动安装需要的Gradle版本比较靠谱啦。

AndroidStudio里边已经自带了Gradle,把这个Gradle的路径直接配置到环境变量里边,也就可以是可以用的

当然还有一种方式就是直接使用apt安装

//安装gradle
sudo apt-get install gradle

记得安装好Gradle后一定要看下版本,因为不同的Android Gradle Plugin对Gradle的版本是有要求的,具体可以看官网上的说明

The Android Gradle Plugin and Gradle

至此远程Ubuntu的环境就搭建好了。接下来就要回到自己的机器上了。

Windows平台安装SSH客户端


对于Mac和Linux平台是自带了Bash环境的,都安装了SSH客户端,直接SSH连上Ubuntu就可以操作了,但是对于Windows来讲还是建议需要安装一个Cygwin,这样就可以模拟获得跟Linux上一样的Shell环境了。安装教程在这,就不多介绍了。

如果有Git需求的,其实可以直接安装Git客户端,这个自带了Shell环境,可以使用SSH命令的,就不需要再单独安装Cygwin或者MinGW了。

这里值得一提的是文件夹路径的问题,在Bash中跟Windows表示有点不一样,没有盘符的概念。

#Windows路径
C:/Users/qiaobo/path

#Bash中表示成
/C/Users/qiaobo/path

使用Ubuntu编译并安装

  1. SSH登录Ubuntu
//qiaobo是用户名
//12.2.3.1是Ubuntu的IP地址,
//22是端口,一般来讲22是默认端口可以缺省
ssh qiaobo@12.2.3.1 -p 22
//再输入密码就进去,如果是第一次会有一个是否信任对方地址的询问
  1. SVN拉取代码
//新建一个文件夹
mkdir svncode
//检出代码到svncode文件夹
cd svncode
svn checkout http://svn.etransfar.com/code/shijidaima/trunk
//在这里会要求输入账号跟密码
  1. SVN更新代码
    并不是每次都需要去检出代码的,如果已经检出过了,那就只需要更新代码就好了
//更新代码
cd trunk
svn update
  1. 开始编译
//编译Release版本
gradle assembleRelease
//编译Debug版本
gradle assembleDebug

这里需要注意gradle版本,如果本地没有安装gradle,或者gradle版本不对,那么就使用./gradlew 来替换gradle吧,当然这个需要在工程目录下面有gradlew脚本文件。
不过需要注意的是 执行gradlew脚本会先去下载对应的gradle版本,然后再运行gradle,如果网速慢的话,得等很久。

  1. 把编译结果Copy出来
    这个时候需要再开启一个Bash窗口,执行scp命令把结果apk拷贝出来。
scp -P 22 qiaobo@12.2.3.1:/path/trunk/app/build/outputs/apk/app-GuanWang-debug.apk /localpath/
  1. 本地安装apk
adb install -r /localpath/app-GuanWang-debug.apk

好啦,至此就整个编译过程就结束了,就不用担心自己的机器卡死了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容