在编译前请先看
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源码全过程
Ubuntu 10.04下编译Android源码全过程
Ubuntu10.04下编译Android源码全过程.pdf
Ubuntu_10.04下编译Android源码实用.pdf
Ubuntu 10.04下Android编译环境搭建
(修正的)Ubuntu_10.04下编译Android源码全过程
android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6
ubuntu10.04下deadbeef完美支持 源码
Ubuntu_10.04上编译Android_2.3Ubuntu_10.04上编译Android_2.3
在32位Ubuntu 10.04上编译Android 2.3
Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part
ubuntu10.04及12.04编译android环境搭建.txt
在Ubuntu10.04下载和编译android 4.0源代码(三)
介绍最新版本Ubuntu10.04的安装,配置,shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02
ubuntu10.04编译mtk工程的说明,包含工具的下载链接
Build android development platform in Ubuntu 10.04.pdf, version 1.0.1
在Ubuntu10.04下载和编译android 4.0源代码(四)
在Ubuntu10.04下载和编译android 4.0源代码(一)