ubuntu14.04 配置 AOSP(android open source project)android系统源码编译环境
来源:互联网 发布:产业链分析理论 知乎 编辑:程序博客网 时间:2024/05/01 22:21
先说明下, 该文章主要是参考 android 官方文档总结的, 主要参考以下两个链接: http://source.android.com/source/requirements.html 和 http://source.android.com/source/initializing.html 的文章。
一,搭建软件的编译环境,首先是操作系统,因为我用的linux 系统, 下面把对使用 linux 系统编译源码的相关信息贴上来:
- Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)
- Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)
二,接下来是安装JDK,先贴官方文档:
Please note, since there are no available supported OpenJDK 8 packages for Ubuntu 14.04, the Ubuntu 15.04 packages must be installed manually. See JDK for Ubuntu LTS 14.04 for precise instructions.
- The master branch of Android in AOSP: Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 or newer
- Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - Java JDK 7, Mac OS - jdk-7u71-macosx-x64.dmg
- Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - Java JDK 6, Mac OS - Java JDK 6
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5
2,接下来看具体的版本对应的JDK。
- The master branch of Android in AOSP: Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 or newer
- Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - Java JDK 7, Mac OS - jdk-7u71-macosx-x64.dmg
- Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - Java JDK 6, Mac OS - Java JDK 6
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5
这段文字,说明了每个版本使用什么JDK, 在这里,如果仔细一点,会发现一个官方文档的问题, 看前面的一 ,
有这样一个说明:
“ Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)”,然后再看本点中的 “ The master branch of Android in AOSP: Ubuntu - OpenJDK 8 ” 和 “Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - Java JDK 7” ,发现一个问题,前面说 主分支是 Android6.0, 而后面好像不是。关于这个,我认为是google在制作文档时的一个疏忽,现在主分支上面的代码应该是 Android N了,也就是 Android7.0了。 而我要编译的是 android 5.0的源码,所以直接装oracle JDK7(实际上在编译5.0.1_r1 源码时,发现不能够用Oracle JDK7, 应该用 OpenJDK, 又一文档问题)就好了。至于怎么安装 OpenJDK8, JDK for Ubuntu LTS 14.04 这个超链接有详细说明,这里就不说了。另外要说明一点的是,在 JDK for Ubuntu LTS 14.04 在 这个超链接里面说了 Ubuntu 15.04 可以直接用 apt-get 命令来安装 OpenJDK8,也就是说这个和前面说的, 在Ubuntu15.04里面没有OpenJDK8安装支持包又是矛盾的, 看样子还是文档本身的问题,这里就不纠结了。
3,下载 Java JDK 7。在 http://www.oracle.com/technetwork/java/archive-139210.html 这个地址列出了所有版本的JDK,找到 jdk7, 然后再找到 linux 版本的jdk, 发现有jdk-7u79-linux-x64.rpm 和 jdk-7u79-linux-x64.tar.gz 两种格式。 查资料了解到:
3.1, .rpm格式是针对 Red Hat 的格式, 如果 linux 系统是 Red Hat 的话,那么可以直接双击安装,ubuntu 的话,需要进行转换,需要其它工具进行转换成 .deb 格式,而且有可能失败,所以就没有下载 .rpm 格式。
3.2, .tar.gz, 该格式适用于所有linux 系统。所以选择该格式下载。
4, 安装 Java JDK 7。
4.1,解压 jdk, tar xvf jdk-7u79-linux-x64.tar.gz ;
4.2,配置环境变量, 执行 sudo vi /etc/profile , 在 pfofile 文件 末尾 加上如下信息:
export JAVA_HOME=/home/zhangquan/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=$CLASSPATH:.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:$PATH
通常,在配置好环境变量后,肯定要执行 java , javac 命令来看看 jdk有没有安装号,环境变量有没有配置好。我在这个过程中,发现 java, javac 命令都不管用, 这是因为修改没有立即生效,这里要让修改立即生效的话,执行 source /etc/profile 命令即可。
5,在上面2中说了, 实际上在编译5.0.1的源码时,会发现需要OpenJDK,如果用Oracle JDK 会 报如下错误:
Checking build tools versions...
************************************************************
You asked for an OpenJDK 7 build but your version is
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).
************************************************************
build/core/main.mk:191: *** stop。 停止。
出现这个错误后,我尝试过修改 build/core/main.mk文件用 Oracle JDK 来编译, 最终编译过程中出了错,后来就放弃了,于是就安装OpenJDK7, 具体安装:
5.1,安装命令: sudo apt-get install openjdk-7-jdk
5.2,安装完成后,默认openjdk7是安装在 /usr/lib/jvm 目录下的,我把它放在了 ~/ 目录下了,因为我的oracle jdk是放在该目录下的。
5.3,配置环境变量:
#export JAVA_HOME=/home/zhangquan/jdk1.7.0_79
export JAVA_HOME=/home/zhangquan/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=$CLASSPATH:.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:$PATH
注意:我配了两个JAVA_HOME, 其中oracle jdk 的被我注释掉了, 如果要换着使用的话,把对应的JAVA_HOME注释放开和加上就好了。
6,安装 Python,官方要求 Python 2.6 —— 2.7 版本, 默认 ubuntu 14.04.1 就装了 Python 2.7.6, 所以不用安装了
7,安装 GNU Make,官方要求 3.81 —— 3.82,默认ubuntu 14.04.1 安装了 3.81,这个工具需要注意的是,如果要安装时,它的名字叫 make , 如 apt-get install make, 而不是 GNU Make。
8,安装 Git, 要求最低 1.7 或 1.7 以上的版本, 默认 ubuntu 14.04.1 安装了1.9.1;
9,安装一些其它的相关包,不同版本安装的不一样,具体的看 http://source.android.com/source/initializing.html 这个链接, 我的是 14.04, 安装命令是:
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
- ubuntu14.04 配置 AOSP(android open source project)android系统源码编译环境
- Mac下Android源码(AOSP)编译环境搭建方法
- Ubuntu14.04 Android系统源码编译环境初始化
- Ubuntu14.04系统搭建Android源码编译环境
- How to extract .img files built from AOSP(Android Open Source Project)?
- Ubuntu14.04搭建android源码编译环境
- Android Source Open Project-overview
- Android Squeezer Open Source Project
- Android Open Source Project Analysisx
- Android Open Source Project Patches
- Ubuntu14.04环境编译vlc源码for安卓Android系统
- Ubuntu14.04 Android 源码编译
- ubuntu14.04编译android源码
- ubuntu14.04编译android源码
- Ubuntu14.04 编译Android源码
- 编译android源代码(aosp)
- 在 VMWare 7.1.2 + Ubuntu 11.10(32位)中,编译 Android 2.3.7 (gingerbread) 源码 (Anroid Open Source Project)
- Android Studio Debug Android Open Source Project
- Android中显示gif图片
- 架构漫谈(六):软件架构到底是要解决什么问题?
- cvSnakeImage
- 225y
- 给 Android 开发者的 RxJava 详解
- ubuntu14.04 配置 AOSP(android open source project)android系统源码编译环境
- Mac电脑使用 Boot Camp 安装Windows系统
- c++作业2
- python学习笔记(第6章 序列:字符串,列表和元组)(一)
- win10下安装python时出现的问题(这里以python3.4.3为例)
- c++第二次作业1
- 基于OpenCV的文件夹遍历
- C++实验2-标准体重
- qt中文乱码