欢迎访问AOSP中文官网
本文只简单介绍如何设置本地工作环境来编译 Android 源文件。您必须使用 Linux 或 Mac OS。目前不支持在 Windows 环境下进行编译。详细步骤请参照官方搭建编译环境。
我们需要做以下准备
1. 64位Linux PC 或者虚拟机,至少需要 150GB 可用磁盘空间 (官方建议使用Ubuntu 14.04,不过用高版本也没问题)
2. 安装JDK(请参阅 JDK 要求)
3. 主要软件包
- python.org 中提供的 Python 2.6 – 2.7
- gnu.org 中提供的 GNU Make 3.81 – 3.82
- git-scm.com 中提供的 Git 1.7 或更高版本
本文以编译Android 5.1 为例,使用Ubuntu 16.04、OpenJdk 7 。
安装OpenJDK
Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下:
sudo add-apt-repository ppa:openjdk-r/ppa
Ubuntu14.04安装openjdk8也要注意该问题。
Debian, Ubuntu
sudo apt-get install openjdk-7-jre
sudo apt-get install openjdk-7-jdk
Fedora, Oracle Linux, Red Hat Enterprise Linux
su -c "yum install java-1.7.0-openjdk"
需要安装不同版本对数字进行更改即可,详情请参照 OpenJDK。
安装完成后,用gedit文本编辑器在/etc/profile中添加环境变量:
sudo gedit /etc/profile
在打开的/etc/profile文件末尾添加下面几行:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
这里注意用英文状态下的冒号分隔,不是和Win一样用分号分隔。
执行以下命令让修改生效:
source /etc/profile
最后输入 java -version 测试jdk是否配置好了。
安装所需要的软件包
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 libgl1-mesa-dev libxml2-utils xsltproc unzip
下载AOSP源码
Android 源代码树位于由 Google 托管的 Git 代码库中。由于国内特殊原因我改用了清华源。按照Google官方教程,首先需要安装Repo。Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。要详细了解 Repo,请参阅 Repo 命令参考资料。
安装Repo工具:
这里使用的是tuna的git-repo镜像,使用谷歌源会提示无法连接到 gerrit.googlesource.com。
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
执行完上面操作后bin下会有一个repo的文件
接下来我们打开 ~/.bashrc
sudo gedit ~/.bashrc
然后在 ~/.bashrc 的最后添加
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
然后再重启终端模拟器。
初始化Repo:
配置 Git(配置好了可略过)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
建立工作目录
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
初始化仓库
运行 repo init
以获取最新版本的 Repo 及其最近的所有错误更正内容。您必须为清单指定一个网址,该网址用于指定 Android 源代码中包含的各个代码库将位于工作目录中的什么位置。
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
要检出“master”以外的分支,请使用 -b
指定相应分支。要查看分支列表,请参阅源代码标记和编译版本。比如我要下载的android-5.1.1_r3。
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.1_r3
最后同步源码树
repo sync
接下来就是漫长的下载等待过程了,如果你之前已经通过某种途径获得了 AOSP 的源码,你以后想通过清华源同步AOSP可以参考清华源,如果过程中出现了问题可以去看看官方教程。
今天的文章AOSP入门(1)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65881.html