红联Linux门户
Linux帮助

基于Ubuntu 14.04的Android Build Server搭建

发布时间:2016-12-01 15:09:15来源:linux网站作者:guyongqiangx
1.安装Ubuntu 14.04系统
Android系统编译推荐使用基于Ubuntu的64位系统。Ubuntu 12.04比较老了,Ubuntu 16.04又太新,这里选择Ubuntu 14.04的64位桌面版本。
下载地址:http://releases.ubuntu.com/14.04/
基于Ubuntu 14.04的Android Build Server搭建
 
2.安装ssh
安装完系统的第一件事情就是安装ssh,这样就可以远程登录操作了。
安装openssh
sudo apt-get install openssh-server
检查ssh服务
sudo ps -e | grep ssh
修改配置
执行sudo vim /etc/ssh/sshd_config命令修改默认配置:
PermitRootLogin without-password --> PermitRootLogin yes
实际上这项是针对root用户登录,如果不需要root用录,可以忽略此步骤
重启ssh服务
sudo service ssh restart
 
3.安装Java
编译Android需要安装Java,不同版本的Android需要不同版本的Java,在编译不同版本的Android时需要在这些版本之间切换。具体各版本对Java环境的要求如下:
KitKat及以下需要Java6
Lollipop和Marshmallow需要Java7
AOSP的master分支,以及Nougat需要Java8
安装所需的各个Java版本:
安装java6
chmod a+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
sudo mkdir -p /opt/java/64
sudo mv jdk1.6.0_45/ /opt/java/64
sudo update-alternatives --install "/usr/bin/java" "java" /opt/java/64/jdk1.6.0_45/bin/java 1
sudo update-alternatives --install "/usr/bin/javac" "javac" /opt/java/64/jdk1.6.0_45/bin/javac 1
sudo update-alternatives --install "/usr/bin/jar" "jar" /opt/java/64/jdk1.6.0_45/bin/jar 1
sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" /opt/java/64/jdk1.6.0_45/bin/javadoc 1
sudo update-alternatives --install "/usr/bin/javap" "javap" /opt/java/64/jdk1.6.0_45/bin/javap 1
安装java7
Ubuntu 14.04默认包含了java7的安装源,直接执行安装命令即可:
sudo apt-get install openjdk-7-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javadoc
安装java8
Ubuntu 14.04需要手动下载java8的安装包,并分步执行安装命令:
wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre_8u45-b14-1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jre-headless_8u45-b14-1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8/openjdk-8-jdk_8u45-b14-1_amd64.deb
sudo apt-get update
sudo dpkg -i openjdk-8-jre-headless_8u45-b14-1_amd64.deb
sudo dpkg -i openjdk-8-jre_8u45-b14-1_amd64.deb
sudo dpkg -i openjdk-8-jdk_8u45-b14-1_amd64.deb
sudo apt-get -f install
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javadoc
 
4.安装android编译工具链
以下是仅针对Ubuntu 14.04的安装命令,其它版本如Ubuntu 12.04需要安装的软件跟这个命令中的不一样:
sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
g++-multilib安装错误
安装中会出现错误:
ygu@stb-lab-04:~$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
[sudo] password for ygu: 
Reading package lists... Done
Building dependency tree   
Reading state information... Done
make is already the newest version.
make set to manually installed.
zip is already the newest version.
zip set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
g++-multilib : Depends: gcc-multilib (>= 4:4.8.2-1ubuntu6) but it is not going to be installed
Depends: g++ (>= 4:4.8.2-1ubuntu6) but it is not going to be installed
Depends: g++-4.8-multilib (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
根据提示g++-multilib依赖于gcc-multilib,g++或g++-4.8-multilib,先安装其中一个:
sudo apt-get install gcc-multilib g++
再次执行安装命令即可。
其它安装包
除了以上的安装包外,部分机器因为编译其它软件可能还需要额外的安装包,例如:
sudo apt-get install flex zlib1g-dev:amd64
更新后的安装列表
根据以上操作,修改为安装以下软件列表:
sudo apt-get install bison g++ g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
 
5.安装samba
安装samba服务端
sudo apt-get install samba samba-common
编辑samba.conf
sudo vim /etc/samba/smb.conf 
新增/opt目录作为共享目录,并需要登录才能访问:
[opt]
comment = opt
path = /opt
writeable = yes
browseable = yes
#  valid users = %S
guest ok = no
添加samba用户
将现有用户ygu添加作为samba用户,如果想新增一个用户,需要现在Ubuntu系统中添加该用户后再用smbpasswd -a添加。
ygu@stb-lab-04:~$ sudo smbpasswd -a ygu
New SMB password:
Retype new SMB password:
Added user ygu.
重启samba服务
ygu@stb-lab-04:~$ sudo service nmbd restart
nmbd stop/waiting
nmbd start/running, process 20361
ygu@stb-lab-04:~$ sudo service smbd restart
smbd stop/waiting
smbd start/running, process 20340
为什么需要同时重启nmbd和smbd两项服务?
Samba服务器包括两个后台应用程序: smbd和nmbd。
+ smbd是Samba的核心, 主要负责建立Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问;
+ nmbd主要负责对外发布Samba服务器可以提供的NetBIOS名称和浏览服务,使Windows用户可以在“网上邻居”中浏览Samba服务器中共享的资源。
 
6.安装tftp
安装tftp服务端
sudo apt-get install xinetd tftpd tftp
配置tftp服务
执行sudo vim /etc/xinetd.d/tftp命令按如下内容编辑/etc/xinetd.d/tftp文件:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
创建tftp目录并设置权限
sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
重启xinetd服务
sudo service xinetd restart
 
7.安装NFS服务
安装NFS服务端
sudo apt-get install nfs-kernel-server
创建NFS服务目录
mkdir -p /opt/nfs
编辑/etc/exports
/opt/nfs *(rw,sync,no_root_squash,no_subtree_check)
启动NFS server
sudo service nfs-kernel-server restart
检查NFS目录
ygu@stb-lab-04:/opt$ sudo showmount -e
Export list for stb-lab-04:
/opt/nfs *
 
8.启动进入命令行界面
对于build server,默认并不需要图形界面,所以选择开机直接进入命令行界面。
以下是修改配置文件使开机进入命令行的一种简便方法。
编辑grub文件
执行sudo vim /etc/default/grub命令
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
保存并退出
执行update-grub
sudo update-grub
update-grub操作会更新/boot/grub/grub.cfg文件,重启后就会使用这个修改后的配置直接进入命令行。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26488.html