Ubuntu16.0.4安装与编译Android源码

一、环境搭建

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值