要求
下载和编译 Android 源代码之前,请先确保您的系统符合以下要求。然后,请参阅构建编译环境,查看适用于相应操作系统的安装说明。

硬件要求

您的开发编译机必须达到或超出以下硬件要求:

如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。
如果是校验代码,至少需要 100GB 可用磁盘空间;如果要进行编译,则还需要 150GB。如果要进行多次编译或使用 ccache,则需要更多空间。
如果您在虚拟机中运行 Linux,则至少需要 16GB 的 RAM/交换空间(swap)。

软件要求

Android 开源项目 (AOSP) master 分支历来都是在 Ubuntu Long Term Support (LTS) 版本中进行开发和测试,但您也可以使用其他 Ubuntu 分发版本。要查看建议使用的版本,请参阅下面的列表。

您的工作站必须具有下面列出的软件。要查看所需的其他软件包以及用于安装这些软件包的命令,请参阅构建编译环境。

操作系统和 JDK

如果您要针对 AOSP master 分支进行开发,请使用下列操作系统之一:Ubuntu 14.04 (Trusty)/Mac OS v10.10 (Yosemite) 或更高版本(具有 Xcode 4.5.2 和命令行工具)。

对于 Java 开发套件 (JDK),需要注意的是 AOSP 中 Android 的 master 分支带有预编译版本的 OpenJDK;因此无需另外进行安装。较低的版本则需要单独进行安装。

请参阅较低 Android 版本的软件包。

主要软件包

python.org 中提供的 Python 2.6 - 2.7
gnu.org 中提供的 GNU Make 3.81 - 3.82
git-scm.com 中提供的 Git 1.7 或更高版本

设备二进制文件

下载预览、出厂映像、驱动程序、无线下载 (OTA) 更新和下列其他 Blob。如需更多详细信息,请参阅下载专有二进制文件。

预览二进制文件 (Blob) - 用于 AOSP master 分支开发
出厂映像 - 针对运行带标记的 AOSP 版本分支的受支持设备
硬件支持二进制文件 - 针对运行带标记的 AOSP 版本分支的设备

编译工具链

Android 8.0 及更高版本仅支持使用 Clang/LLVM 来编译 Android 平台。您可以加入 android-llvm 网上论坛来提出问题并获取帮助。在 NDK GitHub 上报告 NDK/编译器问题。

对于原生开发工具包 (NDK) 和旧版内核,您也可以使用 AOSP 主分支中包含的 GCC 4.9(在 prebuilts/ 下)。

较低 Android 版本的软件包
以下部分提供了较低 Android 版本的相关操作系统和 JDK 软件包。

操作系统

Android 通常是在 GNU/Linux 或 Mac OS 操作系统中进行编译。您也可以使用虚拟机在不支持的系统(例如 Windows)中编译 Android。
GNU/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)
Mac OS (Intel/x86)
Android 6.0 (Marshmallow) - AOSP master:Mac OS v10.10 (Yosemite) 或更高版本,具有 Xcode 4.5.2 和命令行工具
Android 5.x (Lollipop):Mac OS v10.8 (Mountain Lion),具有 Xcode 4.5.2 和命令行工具
Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat):Mac OS v10.6 (Snow Leopard) 或 Mac OS X v10.7 (Lion),以及 Xcode 4.2(Apple 的开发者工具)
Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich):Mac OS v10.5 (Leopard) 或 Mac OS X v10.6 (Snow Leopard),以及 Mac OS X v10.5 SDK
注意:请考虑在 GNU/Linux(而不是其他操作系统)上进行编译。Android 编译系统通常使用编译设备上运行的 ART 来预编译系统 dex 文件。由于 ART 只能在 Linux 上运行,因此编译系统会在非 Linux 操作系统上跳过这个预编译步骤,从而导致 Android 编译的性能下降。

JDK

有关较低 Android 版本的预编译路径和安装说明,请参阅安装 JDK。

Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - OpenJDK 8;Mac OS - jdk 8u45 或更高版本
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - OpenJDK 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

make

Android 4.0.x (Ice Cream Sandwich) 及更低版本需要将 make 3.82 还原到较低版本,以避免出现编译错误。

android编译环境-软硬件要求相关推荐

  1. Android编译环境(1) - 编译Native C的模块

    Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比 ...

  2. ubuntu12.10安装android编译环境

    很久没写博客了,今天写一个经验篇 以ubuntu12.10 64bit为例, 一.以root用户登录 启动root帐号: $sudo passwd root #根据提示输入roott帐号密码. $su ...

  3. 鸟人的Android揭秘(3)——Android 编译环境搭建

    一.主机环境要求 要顺利编译 Android 源代码,硬件环境和操作系统都必须满足一定的条件.官方推荐的硬件环境配置是: 编译 Gingerbread(2.3.x)及后续版本必须使用64位系统 需至少 ...

  4. docker 构建Android编译环境

    docker 构建Android编译环境 文章目录 docker 构建Android编译环境 @[toc] ubuntu:14.04镜像 FAQs ubuntu:18.04镜像 FAQs 由于电脑升级 ...

  5. Linux系统的安装和Android编译环境的配置

    Linux系统的安装和Android编译环境的配置 亲测Android8.1-Android10.0可用 电脑硬件配置 安装Linux系统 配置Android编译环境 常见编译报错 亲测Android ...

  6. rk3288 android编译环境搭建,RK3288系统编译及环境搭建

    准备工作 编译 Android 对机器的配置要求较高: 64 位 CPU 16GB 物理内存+交换内存 30GB 空闲的磁盘空间用于构建,源码树另外占用大约 8GB 官方推荐 Ubuntu 12.04 ...

  7. Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决

    1.编译前安装jdk1.5以上版本,我系统安装了jdk1.6 --检查jdk是否安装:java --version --安装jdk: sudo apt-get install sun-java6-jd ...

  8. 【Kanzi】1:android编译环境配置

    简介 kanzi 是跨平台的 UI 设计工具,主要的目的是将 UI 的工作工具化,提升 UI 的设计效果,缩短 UI 的开发时间. kanzi 基于 C 和 OpenGL/ES,任何操作系统只要支持 ...

  9. Firefly-RK3288开发板Android编译环境搭建开荒

    入手了Firefly-RK3288的开发板,自己从零开始搭建编译环境开荒 第一步:安装Ubuntu12.04,使用安装盘安装(安装的过程就不详写了,下面贴图) 安装完后,更新ubuntu 第二步: 从 ...

  10. Ubuntu上搭建Android编译环境(1)

    外网信号不好,所以把google的原文介绍扒到这里来参考. https://source.android.com/setup/ Android 源代码 Android 是一个针对多种不同设备类型打造的 ...

最新文章

  1. Redux 学习笔记
  2. 协方差矩阵的实例与意义
  3. 基于SignalR的消息推送与二维码描登录实现
  4. 为 GridView 添加一列单选按钮50
  5. RocketMQ原理解析-producer 4.发送分布式事物消息
  6. C++学习笔记6[数组]
  7. 基于TCP和多线程实现无线鼠标键盘-GestureDetector
  8. 新的吉尼斯世界纪录 – 最快人类基因组测序,用时5 小时 2 分钟!
  9. Spring学习笔记--导航
  10. MySql noinstall-5.1.34-win32 配置
  11. 将20180608141920转成date格式
  12. 思维导图软件列表(mind mapping software list)
  13. 如何实现甘特图独立安装
  14. 使用Java快速开发一个新闻爬虫项目
  15. jsplumb入门教程及视频教程链接
  16. 求矩形中正方形和长方形的个数
  17. CCF试题 201903-2 二十四点
  18. 在浏览器中输入URL(如www.baidu.com)到显示页面经历哪些过程,涉及到哪些协议?
  19. 为何个税突然变多了?“税率跳档”了解一下
  20. 看不起java_程序员铁律,用Tab的瞧不起用Space键的,用C语言的瞧不起用Java的!...

热门文章

  1. 2407 · 计算 a + aa + aaa + aaaa 的值(LintCode,Python,入门)
  2. 渗透测试技巧:python+burp快速编写网站测试脚本
  3. python 入门篇 之 正则表达式re.findall的使用
  4. Crate安装和配置
  5. Ubuntu 20.04 安装 Seismic Unix
  6. 最长的指定瑕疵度的元音字串 —— 最优解法(C++实现)
  7. mysql语句占位符_sql语句中的占位符?有什么作用
  8. android开发界面转换,ios界面最省时最简单的办法转换成Android界面 – 学ui网
  9. 验证苹果商店服务器通知 responseBodyV2
  10. 超强实用 中国各地特产风味大搜捕