最近在Ubuntu14.04上下载Android源码遇到的各种问题总结。网上搜到的各种搭建环境的文章,总是会出现一些这样那样的问题。
1、Ubuntu14.04镜像下载地址
Ubuntu14.04
2、安装完系统后安装ssh方便本地window客户端工具连接Linux
安装命令
sudo apt-get install openssh-server
查看SSH服务是否启动命令
sudo ps -e |grep ssh
如果没有启动,输入命令。
sudo service ssh start
3、安装samba 方便Linux服务器 和window客户端共享文件
首先同步源的索引,保证获取到最新的软件包,
执行sudo apt-get update
安装samba和samba-common
sudo apt-get install samba samba-common
在Linux下创建共享目录
mkdir rocker_share
设置为所有人都可读可写可执行
sudo chmod 777 /home/rocket/rocker_share
更改Samba文件配置
sudo vim /etc/samba/smb.conf
添加以下内容
security = user
[rocket]
comment = rocket share
path = /home/rocket/rocket_share
browseable = yes
writable = yes
设置window系统登入共享文件夹的用户名和密码
sudo smbpasswd -a rocket
重新启动smb服务。
sudo service smbd restart
然后在window下映射共享文件
4、JDK 8 安装
下载jdk
通过终端在/usr/local目录下新建java文件夹
sudo mkdir /usr/local/java
将下载到压缩包拷贝到java文件夹中
cp jdk-8u171-linux-x64.tar.gz /usr/local/java
然后进入java目录
cd /usr/local/java
解压压缩包
sudo tar xvf jdk-8u171-linux-x64.tar.gz
然后可以把压缩包删除
sudo rm jdk-8u171-linux-x64.tar.gz
设置jdk环境变量
sudo vim ~/.bashrc
打开之后在末尾添加
export JAVA_HOME=/usr/local/java/1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
最后在终端执行下 sudo source /etc/profile刷新下环境变量
在终端输入如下命令
java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
出现上述信息表示安装完成,配置也正确。
5、安装ccache
sudo apt-get install ccache
source ~/.bashrc
6、安装编译源码所需要的工具集
这些工具集务必要提前安装好,否则会编译出错,且难以排查,导致浪费时间。你可以依次安装软件也可以一次性安装(建议依次安装,这样抱错的话能够及时有针对性的排除)
sudo apt-get install git-core
sudo apt-get install git
sudo apt-get install gnupg
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install build-essential
sudo apt-get install build-essential
sudo apt-get install zip
sudo apt-get install curl
sudo apt-get install libc6-dev
sudo apt-get install libncurses5-dev:i386
sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev:i386
sudo apt-get install libreadline6-dev:i386
sudo apt-get install libgl1-mesa-dev
sudo apt-get install g++-multilib
sudo apt-get install mingw32
sudo apt-get install tofrodos
sudo apt-get install python-markdown
sudo apt-get install libxml2-utils
sudo apt-get install xsltproc
sudo apt-get install zlib1g-dev:i386
sudo apt-get install dpkg-dev
7、下载硬件驱动程序
虽然android是开源的,但是各个厂家的硬件设备存在差异、硬件驱动也是不同的。这也是各个厂家维护自己利益的一种途径。google旗下的nexus产品的驱动你可以在
https://developers.google.com/android/nexus/drivers#shamu
因为国内的限制,该网站并不可访问。
8、Android源码下载
mkdir ~/bin
PATH=~/bin:$PATH
下载repo工具并让它具有可执行权限
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
由于国内上网限制还可以用清华大学TUNA镜像源,由于清华大学TUNA镜像源关闭了git://协议,仅支持HTTPS,所以需将REPO_URL修改为:
https://aosp.tuna.tsinghua.edu.cn/android/git-repo才可以正常使用
git clone https://aosp.tuna.tsinghua.edu.cn/android/git-repo
cp git-repo/repo ~/bin/ //将上一个步骤中得到的git-repo中的repo文件拷贝到bin目录
sudo vim ~/bin/repo
REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/android/git-repo'
在用户的home目录下新建Android_src目录,并用repo初始化指定android某个版本的分支
mkdir ~/android-8.0.0_r10 //新建目录
cd ~/android-8.0.0_r10 //进入目录
配置git的用户信息
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo关联android源码
repo init -u https://android.googlesource.com/platform/manifest //会关联最新的android版本
如果要指定某个版本
repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r10 // -b设置分支,android-8.0.0_r10分支名
注:如果要查看所有的分支名,请转到
https://source.android.com/source/build-numbers.html#source-code-tags-and-builds
大概给大家截图看一下最新的版本
由于国内限制,可以执
repo init -u https://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-8.0.0_r10
9、开始执行下载
repo sync //就开始下载了。我当时是翻墙的,大概一个晚上搞定了。如果中途断了,重新执行repo sync即可。
10、驱动程序下载
- git clone https://aosp.tuna.tsinghua.edu.cn/kernel/common.git
- git check out“branchName”