在编译前请先看
http://blog.csdn.net/wufenglong/archive/2011/05/11/6411688.aspx
初始化编译环境 Initializing aBuild Environment
Buildingthe System
Thebasic sequence of build commands is as follows:
Initialize
Initializethe environment with theenvsetup.sh
script.Note
that replacing "source" with a single dot saves a fewcharacters, and the short form is more commonly used indocumentation.
$ source build/envsetup.sh
or
$ . build/envsetup.sh
Choosea Target
Choosewhich target to build withlunch
.The
exact configuration can be passed as an argument, e.g.
$ lunch full-eng
Theexample above refers to a complete build for the emulator, with alldebugging enabled.
Ifrun with no argumentslunch
willprompt
you to choose a target from the menu.
Allbuild targets take the form BUILD-BUILDTYPE, where the BUILD is acodename referring to the particular feature combination:
Buildname
Device
Notes
full
|
emulator
|
fullyconfigured with all languages, apps, input methods
|
full_maguro
|
maguro
|
full buildrunning on Galaxy Nexus GSM/HSPA+ ("maguro")
|
full_panda
|
panda
|
full buildrunning on PandaBoard ("panda")
|
andthe BUILDTYPE is one of the following:
Buildtype
Use
user
|
limitedaccess; suited for production
|
userdebug
|
like"user" but with root access and debuggability;preferred for debugging
|
eng
|
developmentconfiguration with additional debugging tools
|
Formore information about building for and running on actual hardware,seeBuildingfor
devices
Buildthe Code
Buildeverything withmake
.GNU
make can handle parallel tasks with a-jN
argument,and
it's common to use a number of tasks N that's between 1 and 2times the number of hardware threads on the computer being used forthe build. E.g. on a dual-E5520 machine (2 CPUs, 4 cores per CPU, 2threads per core), the fastest builds are made with commandsbetweenmake-j16
andmake-j32
.
$ make -j4
RunIt!
Youcan either run your build on an emulator or flash it on a device.Please note that you
have already selected your build targetwithlunch
,and
it is unlikely at best to run on a different target than it wasbuilt for.
Flasha Device
Toflash a device, you will need to usefastboot
,which
should be included in your path after a successful build. Placethe device in fastboot mode either manually by holding theappropriate key combination at boot, or from the shell with
$ adb reboot bootloader
Oncethe device is in fastboot mode, run
$ fastboot flashall -w
The-w
optionwipes
the/data
partitionon
the device; this is useful for your first time flashing aparticular device, but is otherwise unnecessary.
Formore information about building for and running on actual hardware,seeBuildingfor
devices
Emulatean Android Device
Theemulator is added to your path automatically by the build process. Torun the emulator, type
$ emulator
Usingccache
ccacheis a compiler cache for C and C++ that can help make builds faster.In the root of the source tree, do the following:
$ export USE_CCACHE=1
$ export CCACHE_DIR=/<path_of_your_choice>/.ccache
$ prebuilt/linux-x86/ccache/ccache -M 20G
Youcan watch ccache being used by doing the following:
$ watch -n1 -d prebuilt/linux-x86/ccache/ccache -s
OnOSX, you should replacelinux-x86
withdarwin-x86
.
TroubleshootingCommon Build Errors
WrongJava Version
Ifyou are attempting to build froyo or earlier with Java 1.6, orgingerbread or later with
Java 1.5,make
willabort
with a message such as
************************************************************
You are attempting to build with the incorrect version
of java.
Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.
Please follow the machine setup instructions at
http://source.android.com/download
************************************************************
Thismay be caused by
-
failingto install the correct JDK as specified on theInitializingpage.Building
Android requires Sun JDK 5 or 6 depending on which releaseyou are building.
-
anotherJDK that you previously installed appearing in your path. You canremove the offending JDK from your path with:
$ export PATH=${PATH/\/path\/to\/jdk\/dir:/}
PythonVersion 3
Repois built on particular functionality from Python 2.x and isunfortunately incompatible with Python 3. In order to use repo,please
install Python 2.x:
$ apt-get install python
GmakeVersion 3.82
Thereis a bug inmake
version3.82
on Mac OS that prevents building Android.
TODO:what the error looks like with GNU make 3.82 on older builds thatdon't explicitly detect it.
Followthe instructions on theInitializingpagefor
reverting GNU make from 3.82 to 3.81.
CaseInsensitive Filesystem
Ifyou are building on an HFS filesystem on Mac OS X, you may encounteran error such as
************************************************************
You are building on a case-insensitive filesystem.
Please move your source tree to a case-sensitive filesystem.
************************************************************
Pleasefollow the instructions on theInitializingpagefor
creating a case-sensitive disk image.
NoUSB Permission
Onmost Linux systems, unprivileged users cannot access USB ports bydefault. If you see
a permission denied error, follow theinstructions on theInitializingpagefor
configuring USB access.
Ifadb was already running and cannot connect to the device aftergetting those rules set
up, it can be killed withadbkill-server
.That
will cause adb to restart with the new configuration.
分享到:
相关推荐
### Ubuntu 10.04下编译Android源码技术文档 #### 一、环境准备与配置 在Ubuntu 10.04环境下编译Android源码是一项复杂但极具价值的任务。为了确保编译过程顺利进行,首先需要完成一系列准备工作。 1. **系统更新...
总之,Ubuntu 10.04下编译Android源码是一个涉及Git版本控制、Repo管理工具、系统依赖安装和源码编译的复杂过程。确保正确安装和配置这些工具是成功构建Android系统的关键。在编译过程中,耐心和对错误的调试能力也...
### Ubuntu 10.04 下编译 Android 源码全过程详解 #### 一、获取 Android 源代码 **Git与集中式版本控制系统对比** - **Git**:由 Linux Torvalds 开发,是一种分布式版本控制系统。与 Subversion 和 CVS 这样的...
在Ubuntu 10.04环境下,为了搭建Android的编译环境,我们需要完成一系列的步骤。这个过程主要包括安装Java Development Kit (JDK),配置相关的环境变量,安装必要的编译工具和依赖包,以及解决特定的系统问题。以下...
【Ubuntu 10.04下编译Android源码实用指南】 在Ubuntu 10.04系统中编译Android源码是一项复杂的过程,需要掌握Git版本控制系统以及Android的Repo工具。Git是Linux Torvalds为管理Linux内核开发而创建的分布式版本...
标题 "Ubuntu 10.04 下 Deadbeef 完美支持源码" 提到的是在 Ubuntu 10.04 这个 Linux 发行版上安装和使用 Deadbeef 音乐播放器的源码编译方法。Deadbeef 是一款轻量级、高度可定制化的音频播放器,它支持多种音频...
### Ubuntu 10.04 下编译 Android 源码全过程详解 #### 一、获取 Android 源代码 1. **Git 的介绍与安装**: - Git 是一种分布式版本控制系统,由 Linux Torvalds 为了更好地管理 Linux 内核开发而创建。 - **...
### Ubuntu环境下编译Android源码及安装的知识点详解 #### 实验环境介绍 - **操作系统**: Ubuntu 10.04 - **Android版本**: 2.1 - **开发板**: ARM9 Mini6410 - **目标**: 在Ubuntu环境下编译Android 2.1源码并进行...
Ubuntu_10.04上编译Android_2.3Ubuntu_10.04上编译Android_2.3
### 构建Android开发平台在Ubuntu 10.04 #### 1. 构建Android开发环境在Ubuntu 10.04 本章节详细介绍了如何在Ubuntu 10.04上构建一个完整的Android开发环境。Ubuntu 10.04作为一个稳定且功能强大的操作系统,是...
Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part
Ubuntu 10.04 LTS,全称Lucid Lynx,是Ubuntu操作系统的一个重要发布版本,于2010年4月29日正式推出。LTS代表“长期支持”(Long Term Support),意味着这个版本将得到更长时间的技术支持,对于个人用户和企业用户...
ubuntu10.04及12.04编译android环境搭建.txt
ubuntu10.04界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-zh-hans_1%3a10.04+20100421_all.deb language-pack-zh-hans-base_1%3a10.04+20100421_all.deb language-pack-...
### Ubuntu 10.04 下安装 OpenCV 2.2.0 详细步骤 #### 知识点一:Ubuntu 10.04 环境介绍 - **Ubuntu 10.04 LTS**(代号 Lucid Lynx)是 Ubuntu 的一个长期支持版本,发布于2010年4月29日。它提供了大量的软件包,...
### 在32位Ubuntu 10.04上编译Android 2.3的知识点 #### 一、环境准备 1. **安装JDK6**: - 对于Android 2.3系统的编译,应选择安装JDK6而不是JDK5。 - 在32位Ubuntu 10.04环境下,直接安装JDK6可能会导致编译时...
在Ubuntu10.04下载和编译android 4.0源代码(三)
介绍最新版本Ubuntu10.04的安装,配置,shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02