1、编译环境准备
下载android代码需要大约需要8.5G,单独编译一套代码需要30G左右,多套的话硬盘空间至少需要100G以上。
2. 配置android在Linux下的编译环境
安装编译所需的软件包:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev libgl1-mesa-glx libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev lib32readline6-dev gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib 2 $ sudoln-s /usr/lib/i386-linux-gnu/libX11.so.1 /usr/lib/i386-linux-gnu/libX1
$cd /usr/bin/
$sudo
mv
gcc gcc.bak
$
sudo
ln
-s gcc-4.4 gcc
$
sudo
mv
g++ g++.bak
$
sudo
ln
-s g++-4.4 g++
Python2.6-2.7,download from http://www.python.org/download/ (Ubuntu12.04一般自带)。
3.安装JDK
在Ubuntu下安装JDK比较简单,可以在软件中心直接搜索安装,也可以按以下方法安装:
安装Java 6(android2.3或更新的版本4.0以上等)
$ sudo add-apt-repository"deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
安装Java 5(amdroid2.3之前Froyo版本和更老的版本)
$ sudo add-apt-repository"deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository"deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
4、配置ccache
你可以选择是否搭建使用ccache编译器缓存设置。Ccache充当一个编译器缓存,可以用来加速再次编译。这招很管用,如果你经常需要清理环境或如果你频繁切换不同的构建产品来多次编译,这样设置后使之重复编译的时间缩短。
$vi ~/.bashrc
export USE_CCACHE=1 //系统默认存放在~/.ccache
export CCACHE_DIR=<path-to-your-cache-directory> //建议设置大小为50-100GB
$ source ~/.bashrc
在你下载完代码后,执行下面的命令
prebuilts/misc/linux-x86/ccache/ccache -M 50G
如果编译的版本为android4.0即Ice Cream Sandwich (4.0.x),执行下面的命令
prebuilt/linux-x86/ccache/ccache-M50G
配置好后,这些设置会一直保留
5.Android 编译报错(环境问题)QA:
Question:
make[3]: *** [arch/arm/boot/uImage] Error 1
make[2]: *** [uImage] Error 2
make[1]: *** [sub-make] Error 2
selected multilib '32' not installed
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl] Error 1
make: *** Waiting for unfinished jobs....
make: *** [out/host/linux-x86/obj/lib/libESR_Portable.so] Error 1
Answer:
make: *** [out/host/linux-x86/obj/EXECUTABLES/sqlite3_intermediates/sqlite3] Error 1
make: *** Waiting for unfinished jobs....
Answer:
sudo apt-get install libreadline6-dev lib32readline6-dev
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
Answer:
sudo apt-get install libc6-dev-i386
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1
Answer:
sudo apt-get install g++-multilib
external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
Answer:
sudo apt-get install zlib1g-dev
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
Answer:
sudo apt-get install lib32z1-dev/bin/bash: bison: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127
Answer:
sudo apt-get install bison/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127
Answer:
sudo apt-get install flexcollect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1
Answer:
sudo apt-get install lib32ncurses5-devcompilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/main-common.o] Error 1
Answer:
sudo apt-get install libx11-devcalling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'
6.android 官方资料:
http://source.android.com/source/initializing.html#installing-required-packages-ubuntu-1204
相关推荐
ubuntu10.04及12.04编译android环境搭建.txt
本文档总结了如何在Ubuntu12.04 64bit下搭建Android编译环境
ubuntu12.04搭建android开发环境的过程介绍
ubuntu12.04下Java开发环境的搭建
andrid ubuntu12.04和14.04的编译环境,目前在开发android底层和中夹层,一直都用的整个编译环境,需要的小伙伴可以看看
ubuntu12.04安装及配置过程详解
之前在ubuntu12.04上搭建Qt桌面版和Qt-Embedded版的时候费了老大的劲,所幸最后在众多热心网友的帮助下搞定了,现将搭建开发环境的过程做了一个总结。该文档主要包括在ubuntu12.04下搭建Qt和Qt-Embedded两部分,其中...
配置ubuntu12.04 samba服务器的话,把必要的软件安装之后,还需要修改配置文件,可以先把系统的配置文件备份,这个拷贝过去替换系统的文件,把名字了。次配置文件本人一验证,可以使用,配置文件的最后12行是我自己...
最全,最好用 自己试试啊ubuntu12.04 vim 配置
Ubuntu12.04 nginx python uwsgi Django安装步骤
opencv2.4.9 ubuntu120.04LTS i386下的编译包java。可以读取视频,包含ffmpeg,x264库
使用VirtualBox在Windows系统下安装与配置Ubuntu 12.04 LTS虚拟机
Ubuntu 12.04 搭建Android开发环境.rar
在ubuntu 12.04 上完成的git服务器搭建步骤。
本资源是APUE随书附带源码库,在Ubuntu12.04下编译成功,可以直接在Ubuntu下进行Linux C学习,并且附有编译过程
ubuntu-12.04 嵌入式开发环境搭建 教你很快的入门ubuntu linux 系统。 可以 很快的搭建好嵌入式的开发的环境,很好理解,一步一步的写得很清楚 !
Ubuntu 12.04 菜鸟完全使用教程让你用最快的速度熟悉使用Ubuntu 12.04!
Android5.0以前编译环境文档,该文档以MTK平台为例子,其他平台可以参照。
Ubuntu12.04下编译和下载Android4.0.3源码
libc6 for ubuntu 12.04 所有依赖的库都打包 .