Android6.0 系统源码下载及环境搭建

前段时间回顾了一下C和JAVA的一些基础和进阶书籍,接下来让我们真正进入Android系统源码的怀抱吧,我会根据一个月之前写的《Android取经之路–学习启动篇》的知识点一步步的往下进行分析及学习,最终的目的是希望完成一个中间件,能够完成其他service到Framework,最终能到Modem的相关操作。

我使用的环境为Windows + Ubuntu16.04虚拟机.

源码下载及环境搭建参考了 AOSP - 清华大学TUNA 镜像源
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

环境搭建—(在Ubuntu中搭建):

1.安装JDK1.7并完成配置:

在www.java.com中 下载jdk-7u79-linux-x64.tar.gz —这个根据个人的电脑配置来

环境变量配置方法:新建文件夹-解压-设置环境变量-测试环境变量

1)解压JDK

新建文件夹-解压
sudo mkdir /usr/lib/jvm
sudo tar zxvf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm

2)设置环境变量

sudo gedit /etc/profile

3)加入环境变量内容

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4)设置默认的JDK

sudo update-alternatives –install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_79/bin/java 300
sudo update-alternatives –install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_79/bin/javac 300

5)重启一下/efc/profile

source /efc/profile

6)测试

java -version

7)显示JDK版本则配置成功

root@ubuntu:/home/ubuntu/Public# java -version
java version “1.7.0_79”
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2.安装 git

sudo apt-get install git-core

3.安装curl

sudo apt-get install git-core curl

4## .安装repo, 通过curl下载repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

5.新建一个目录,然后进入该目录。

cd /home/tianger
mkdir AP6.0 //创建一个目录,这个目录用来保存源码
cd AP6.0

6.版本下载:

1)初始化git仓库

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.0_r26

如果提示下面错误:
Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

可以修改~/bin/repo下面的REPO_URL

sudo gedit ~/bin/repo
修改REPO_URL = ‘https://gerrit-google.tuna.tsinghua.edu.cn/git-repo’

2)下载代码

repo sync

基本上等上一到两晚上就能下载成功

7.版本编译:

先用build/envsetup.sh设置环境变量,再调用 lunch 命令选择构建目标。
之后即执行 make -jN 进行编译。我用的参数为 -j4 编译了大约两个小时:

8.编译方法:

1) source build/envsetup.sh

2) lunch full-eng

3) make -j4
这里的j4标示使用4个线程,可以用多个线程,根据自己CPU决定

4) adb reboot bootloader

5)fastboot flashall -w

6)emulator

#=========================#
微信公众号:天歌的编程小结
公众号ID:vipgty

Tianger Ge wechat
如果您喜欢这篇文章,欢迎扫一扫我的微信公众号!