`

android官方文档:ubuntu10.04下编译android源码Building the System

 
阅读更多

在编译前请先看

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.shscript.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 argumentslunchwillprompt 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

fullbuildrunning on Galaxy Nexus GSM/HSPA+ ("maguro")

full_panda

panda

fullbuildrunning 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-jNargument,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-j16andmake-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-woptionwipes the/datapartitionon 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-x86withdarwin-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,makewillabort 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 inmakeversion3.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源码是一项复杂但极具价值的任务。为了确保编译过程顺利进行,首先需要完成一系列准备工作。 1. **系统更新...

    Ubuntu 10.04下编译Android源码全过程

    总之,Ubuntu 10.04下编译Android源码是一个涉及Git版本控制、Repo管理工具、系统依赖安装和源码编译的复杂过程。确保正确安装和配置这些工具是成功构建Android系统的关键。在编译过程中,耐心和对错误的调试能力也...

    Ubuntu10.04下编译Android源码全过程.pdf

    ### Ubuntu 10.04 下编译 Android 源码全过程详解 #### 一、获取 Android 源代码 **Git与集中式版本控制系统对比** - **Git**:由 Linux Torvalds 开发,是一种分布式版本控制系统。与 Subversion 和 CVS 这样的...

    Ubuntu 10.04下Android编译环境搭建

    在Ubuntu 10.04环境下,为了搭建Android的编译环境,我们需要完成一系列的步骤。这个过程主要包括安装Java Development Kit (JDK),配置相关的环境变量,安装必要的编译工具和依赖包,以及解决特定的系统问题。以下...

    Ubuntu_10.04下编译Android源码实用.pdf

    【Ubuntu 10.04下编译Android源码实用指南】 在Ubuntu 10.04系统中编译Android源码是一项复杂的过程,需要掌握Git版本控制系统以及Android的Repo工具。Git是Linux Torvalds为管理Linux内核开发而创建的分布式版本...

    ubuntu10.04下deadbeef完美支持源码

    标题 "Ubuntu 10.04 下 Deadbeef 完美支持源码" 提到的是在 Ubuntu 10.04 这个 Linux 发行版上安装和使用 Deadbeef 音乐播放器的源码编译方法。Deadbeef 是一款轻量级、高度可定制化的音频播放器,它支持多种音频...

    (修正的)Ubuntu_10.04下编译Android源码全过程.doc

    ### Ubuntu 10.04 下编译 Android 源码全过程详解 #### 一、获取 Android 源代码 1. **Git 的介绍与安装**: - Git 是一种分布式版本控制系统,由 Linux Torvalds 为了更好地管理 Linux 内核开发而创建。 - **...

    Ubuntu环境下编译android源码及安装

    ### Ubuntu环境下编译Android源码及安装的知识点详解 #### 实验环境介绍 - **操作系统**: Ubuntu 10.04 - **Android版本**: 2.1 - **开发板**: ARM9 Mini6410 - **目标**: 在Ubuntu环境下编译Android 2.1源码并进行...

    Ubuntu_10.04上编译Android_2.3

    Ubuntu_10.04上编译Android_2.3Ubuntu_10.04上编译Android_2.3

    Build android development platform in Ubuntu 10.04.pdf

    ### 构建Android开发平台在Ubuntu 10.04 #### 1. 构建Android开发环境在Ubuntu 10.04 本章节详细介绍了如何在Ubuntu 10.04上构建一个完整的Android开发环境。Ubuntu 10.04作为一个稳定且功能强大的操作系统,是...

    Ubuntu 10.04完全版second part

    Ubuntu 10.04完全版入门教程 包含Ubuntu安装,配置过程,以及shell编程等内容。 分两部分: Ubuntu 10.04完全版first part Ubuntu 10.04完全版second part

    ubuntu 10.04LTS正式版DVD版ISO镜像32位64位种子

    Ubuntu 10.04 LTS,全称Lucid Lynx,是Ubuntu操作系统的一个重要发布版本,于2010年4月29日正式推出。LTS代表“长期支持”(Long Term Support),意味着这个版本将得到更长时间的技术支持,对于个人用户和企业用户...

    ubuntu10.04及12.04编译android环境搭建

    ubuntu10.04及12.04编译android环境搭建.txt

    ubuntu 10.04 LTS界面汉化包

    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-...

    ubuntu10.04 安装 opencv2.2.0

    ### 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.doc

    ### 在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下载和编译android 4.0源代码(三)

    Ubuntu10.04入门教程01

    介绍最新版本Ubuntu10.04的安装,配置,shell编程等内容,快速入门提高的资料。 分两卷: Ubuntu10.04入门教程01 Ubuntu10.04入门教程02

Global site tag (gtag.js) - Google Analytics