您的位置:首页 > 移动开发 > Android开发

Ubuntu16.0.4安装与编译Android源码

2016-06-29 12:30 495 查看

一、环境搭建

1.系统安装

我们知道Android系统是基于Linux开发的,所以我们想编译Android系统源码的话,就必须有一个Linux系统,这里我使用了Ubuntu 64位的系统,这个镜像文件的下载地址是:

http://pan.baidu.com/s/1bQ219G

Android 源码编译的磁盘和硬盘空间要求较高,ubuntu 的磁盘空间需要分配60G以上,我安装的是双系统,分配了100G的空间,编译完成使用了55G左右; 内存至少分配 2G,并且Swap空间分配4G

2.安装openjdk-7-jdk

Android 5.0 之后用到的jdk不在是Oracle 的 jdk ,而是开源的 openjdk,在ubuntu安装好后,使用如下命令安装openjdk:

1.  $sudo apt-get update
2.  $sudo apt-get install openjdk-7-jdk
3.  $sudo update-alternatives --config java
4.  $sudo update-alternatives --config javac


安装好后,设置环境变量:

gedit /etc/profile


在/etc/profile 文件末尾加上:

1.  JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
2.  PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
3.  export JAVA_HOME
4.  export PATH


3.安装依赖软件

使用如下命令安装依赖软件:

1.  $sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa- dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev

2.  $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


二、源码下载

1.工具下载安装

配置ccache

安装ccache并将export USE_CCACHE=1加入到~/.bashrc中。

1.  $sudo apt-get install ccache
2.  $source ~/.bashrc


git :使用repo工具的时候会用到git,git并没有在Ubuntu中预装,所以需要事先安装git,使用命令:

sudo apt-get install git


安装完成之后,需要对Git进行配置,设置git的电子邮件和用户名。

如果没有,注册一个

https://github.com/

git config --global user.email "你的电子邮件地址"
git config --global user.name "你的名字"


curl :官方一点的说法就是开源的文件传输工具,类似迅雷。

所以我们需要自己动手安装:

sudo apt-get install curl -y


执行如下命令:

//新建一个bin目录

mkdir ~/bin


//将bin目录写入环境变量(这样你在任何目录下都可以访问)

PATH=~/bin:$PATH


//轮到curl工具了,我们使用curl工具下载repo,并将其放置到bin目录

curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo


//更改repo权限

chmod a+x ~/bin/repo


执行完以上命令之后,是不是有点成就感了?平日里就堵这里吧?我们继续:

接下来新建一个目录,用于放置Android源码,并进入该目录,如下:

mkdir android
cd android


接下来我们初始化仓库:

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest


(接下来这一步就是从服务器取代码了,如果你只想下载特定的android版本,可以使用如下命令:

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b Android版本


Android 版本可以参考这个网址

https://source.android.com/source/build-numbers.html#source-code-tags-and-builds

由于某些原因(你懂得),很多人可能无法查看

但我们下载全部代码,运行命令:

repo sync


三、源码编译

1.源码编译

ps:编译过程比较就,我电脑双核的,使用单线程编译的,时间位12小时左右,如果使用多线程,时间应该会成倍减少

1)设置cache

1.  $ cd aosp
2.  $ prebuilts/misc/linux-x86/ccache/ccache -M 50G


2)初始化编译环境

1.  $ . build/envsetup.sh


3)选择编译目标包

ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的

1.  $lunch aosp_arm-eng


4)编译

1.  $make


ps:1.make后面可以更参数:如你的机器时双核,每核双线程的话,使用make -j4,这样速度更快,但编译时使用的内存也更多2.make失败或停止后,可以使用make -k 继续编译

2.模拟器展示

$ emulator
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu android 源码