Ubuntu 14.04 Android 5.1 源码下载和编译

来源:互联网 发布:云购cms getshell 编辑:程序博客网 时间:2024/05/16 07:17

           Ubuntu 14.04  Android 5.1 源码下载和编译 

1.安装openjdk-7-jdk

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

可以显示使用

$sudo apt-cache search openjdk


接下来开始安转

$sudo apt-get install openjdk-7-jdk 

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

在/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 

Update the default Java version - optional

Optionally, for the Ubuntu versions above update the default Java versionby running:

$ sudo update-alternatives --config java

$ sudo update-alternatives --config javac
到这里jdk 安装完成

 

 

2.安装编译依赖的软件 根据官方文档所示如下:

Installingrequired packages (Ubuntu 14.04)You will need a 64-bit version of Ubuntu.Ubuntu 14.04 is recommended.

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \

  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \

  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \

  libgl1-mesa-dev libxml2-utils xsltproc unzip

Note:To use SELinux tools for policy analysis, also install the python-networkxpackage.

Installingrequired packages (Ubuntu 12.04)

Youmay use Ubuntu 12.04 to build older versions of Android. Version 12.04 is notsupported on master or recent releases.

$ 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-glx:i386 \

  libgl1-mesa-dev g++-multilib mingw32 tofrodos \

  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

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

3.下载repo
1)创建repo目录
mkdir ~/bin
PATH=~/bin:$PATH

2)下载repo(官方的repo下载不了,其他的repo大多比较旧,这个时比较新的,我找了很久大哭)
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/

克隆下来后将git-repo中的repo文件拷贝到bin目录
cp git-repo/repo ~/bin/

chmod a+x ~/bin/repo

修改repo文件,设置REPO_URL如下:
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'

4.初始化repo
1)创建目录
mkdir ~/androidpro

2)初始化repo
cd ~/androidpro
repo init -ugit://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.1_r4 

repo init -ugit://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-6.0.1_r22 

repo init -ugit://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -bandroid-n-preview-1 

ps:在初始化时,提示需要email验证,使用如下命令:
git config --global user.email you@example.com

git config --global user.name "Your Name"

5.替换已有的androidpro源代码的remote

如果你之前已经通过某种途径获得了PROJECT的源码,但是你希望以后通过TUNA同步,只需要将.repo/manifest.xml中的 

      <remote  name="androidpro"

      fetch=".."

      review="https://android-review.googlesource.com/" />

改为下面的code即可: 

     <remote  name="androidpro"

      fetch="git://aosp.tuna.tsinghua.edu.cn/android/"--à如果git 提示可以错误换成https://

      review="https://android-review.googlesource.com/" />

6.下载源码
reposync

7.源码编译
ps:编译过程比较就,我电脑4核的,使用4线程编译的,时间3小时左右,如果使用多线程,时间应该会成倍减少
1)设置cache –可以不设置

如果要设置要先安装Cache
使用如下命令配置cache:
sudo apt-get install ccache
source ~/.bashrc

cd aosp
prebuilts/misc/linux-x86/ccache/ccache -M 50G

2)初始化编译环境
. build/envsetup.sh

3)选择编译目标包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
lunch aosp_arm-eng

4)编译
make
ps: 1.make后面可以更参数:使用make –jN,N代表核数*2,这样速度更快,但编译时使用的内存也更多
2.make失败或停止后,可以直接make , 会接着编译

8.结果展示:

会有{out/target/product/ora6580_we_m}目录,相关apk和so文件

0 0