Android自动化实施(2)—服务器上搭建Android环境
继上一篇文章说道编写android Ant编译脚本,脱离IDE编译带来的慢的痛苦。
为了偷懒,必须自动化。
2.如何在服务器中搭建Android环境
服务器中没有ui如何搭建Android环境呢?
首先将Google提供的Android linux SDK上传到服务器
或者使用curl 直接下载到服务器,高兴用啥就用啥。
解包。必须保证服务器的java环境已经配置好了。没配置好的赶快去yum install 或者 apt-get install
本人也是通过SDK中的REDEAME文件了解到的
可以使用
android update sdk --no-ui
或者
android update sdk -u
这个组命令通过命令行去下载android sdk
但是时去下载会下载全部的包,有些包使我们不需要的,只选择几个必须包就ok 的。
执行
android list sdk
会得到如下的信息
Packages available for installation or update: 19
1- Documentation for Android SDK, API 17, revision 1
2- ARM EABI v7a System Image, Android API 17, revision 1
3- Google APIs, Android API 17, revision 1
4- Google APIs, Android API 16, revision 3
5- Google APIs, Android API 15, revision 2
6- Google APIs, Android API 14, revision 2
7- Google APIs, Android API 13, revision 1
8- Google APIs, Android API 12, revision 1
9- Google APIs, Android API 11, revision 1
10- Google APIs, Android API 10, revision 2
11- Intel Atom x86 System Image, Android API 10, revision 1
12- Google APIs, Android API 8, revision 2
13- Google APIs, Android API 7, revision 1
14- Google APIs, Android API 4, revision 2
15- Google APIs, Android API 3, revision 3
16- Google Play Billing Library, revision 2
17- Google Play Licensing Library, revision 2
18- Google USB Driver, revision 7
19- Intel x86 Emulator Accelerator (HAXM), revision 2
使用
android update sdk --no--ui -filter 1,2,3,4
或者
android update sdk -u -t 1,2,3,4
即可下载需要的依赖包。
这时候可能会报如下这个错。
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
不用担心,因为Google Android SDK 不支持64位机,怎么办呢?
看这篇文章点我,这篇文章会告诉你安装几个编译依赖即可解决问题,分别是
yum whatprovides ld-linux.so.2
yum install xxx
对于libncurses.so.5 和 libstdc++.so.6 执行同样操作
将上一篇中的代码上传到服务器配置好ant环境
修改local.properties的sdk路径
在项目根目录来一发
ant release
是不是很开心。
这时候可以写一个shell 脚本 package.sh 然后在服务器端执行即可。如果使用Java则使用JavaRuntime调用这个脚本就可以让服务器自动打包。
这里要提下,我在windows里写的shell脚本放在服务器端无法执行,各种奇怪问题,最后才发现是文件在两个OS间有差别造成的,比如换行Windows下是\r\n 但是Linux下是\n,最后在服务器上重写了这个脚本才可以顺利编译。经验告诉我们开发环境要和线上环境一致。
尼玛啊。
版权为本人xeodou所有。转载请注明出处。谢谢。