一、初始环境搭建
1、安装JDK
下面是安装Java 6的命令格式,按照顺序在终端中执行:
Java 6(for android 2.1+):
$ sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
假如你想切换JAVA版本(安装多个JAVA版本时),输入如下指令:
sudo update-alternatives --config java
sudo update-alternatives --config javac
使用如下指令查看当前的Java版本号:
java -version
2、安装编译工具
以下命令,一次执行全部需要的编译工具安装
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev libgl1-mesa-dev
天缘在测试时使用上面的配置,似乎没发现缺少什么,如果缺少某个软件包,可使用命令再单独补充安装,比如安装libc6-dev-i386,命令如下:
sudo apt-get install libc6-dev-i386
二、下载Android源码
3、创建工作目录
进入工作目录(比如works),创建bin目录:
mkdir ~/works
mkdir ~/works/android_dev
cd ~/works/android_dev
mkdir bin
4、安装repo版本管理工具(基于git基础开发,便于git资源管理)
curl http://android.git.kernel.org/repo > ~/works/android_dev/bin/repo
cd bin
chmod a+x repo
关于repo更多参考:http://source.android.com/source/version-control.html
5、准备下载Android源码
cd ~/works/android_dev
./bin/repo init -u git://android.git.kernel.org/platform/manifest.git
这里默认下载最新的的版本(2.3),如果下载其它版本,请使用类似下面命令(后面为版本简称):
repo init -u git://android.git.kernel.org/platform/manifest.git -b cuccake
6、配置repo账户
git config --global user.email "[email=abc@gmail.com]abc@gmail.com[/email]"
git config --global user.name "ABc"
7、开始下载android platform的源代码
./bin/repo sync
由于 android 的源码很大,现在新版本的完整源码已经高达 3G 以上,都是从GG官方下载,速度很慢(时间大约要一个晚上),执行后可以回家睡觉或出去通宵均可,有一点需注意在下载之前一定要确保你的磁盘可用空间足够。
如要下载 kernel(即Linux内核源码):
$repo sync kernel
8、添加公钥
$ gpg --import
该命令是交互式导入公钥,参照Google官方说明,这个公钥是用来签名TAGS以表明该版本为RELEASE版本(这里翻译似乎有点问题,原话是The key is used to sign annotated tags that represent releases)这一步不执行仍时可以正常编译的,但如编译Release版本时,建议加上,gpg(GNU Privacy Guard)是个开源加解密软件,交互导入密钥参考上文的官方downloading.html这个页面,还可参考文末地址。
9、选择版本
$ git tag -v tagname
只需选择版本就可以了,是普通版还是精简版或是其它,直接敲数字和回车就可以了。
三、编译Android源码
10、更新环境变量(选择编译目标)
source build/envsetup.sh
11、选择编译目标对象
命令格式:BUILD-BUILDTYPE,其中BUILD和BUILDTYPE可参考官方网页【编译参考3和编译参考4】。命令如果不支持或打错会有提示信息。比如:
lunch full-eng
其它命令如,
lunch full_crespo-userdebug
汇总格式如下:
lunch (generic,full,full_crespo,crespo4g,passion)-(user,userdebug,eng)
上面是默认的设置,如果需要针对开发用机,可以选择使用source build/envsetup.sh命令查看,Android 2.3代码支持htc,sumsung等三款目标机型。更多请参考上文提及的官方网页,官方提到Nexus S和Nexus s 4G是Android开源项目的推荐用机,而Nexus One只是试验用机且不被支持(何意?原生代码编译后无法烧到Nexus One??)。
12、编译Android源码
make -j4
注意:该指令是带杠的jn(起初天缘总是不能运行,就直接用make了,三天后才发现原来丢了个杠杠*_*),按照官方介绍,后面这个-jn是你机子CPU数*核心数*单CPU线程数*(1或2),编译时间大概40分钟-2个小时,看机子性能了,最终编译结果在:
~/works/android_dev/out
另外,编译之前建议把/works/android_dev整个目录备份一下,下次如果重装系统,可以直接拷贝过来使用,再编译时可能需要设置一下权限(chmod -R 777 android_dev),否则可能错误多多。
四、运行Android虚拟机
13、先设置环境变量
指令如下:
export ANDROID_PRODUCT_OUT=/works/android_dev/out/target/product/generic
设置完成后,先logout退出,再login登录进来即可更新环境变量。
注意,这里的环境变量设置也可以起初放到系统的配置文件里,.bashrc,天缘实测好像就这么一句就OK了,网上有说要设置如下几个(如果运行有问题时可以尝试使用,指令中部分路径可能需替换成你自己的设置):
export ANDROID_DIR=~/works/android_dev
export ANDROID_PRODUCT_OUT=${ANDROID_DIR}/out/target/product/generic
export ANDROID_PRODUCT_OUT_BIN=${ANDROID_DIR}/out/host/linux-x86/bin
export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT};
14、运行编译结果
进入android_dev/out/host/bin/目录下,然后运行:
emulator --debug-init -skin QVGA-L
或:
./emulator
分享到:
相关推荐
android 源码编译环境搭建,LINUX环境。
完成以上步骤后,你就成功地在Ubuntu中搭建了Android开发环境并下载了Android源码。现在你可以开始进行Android应用的开发或者对Android系统进行修改和研究了。记得保持环境的更新,以适应最新的Android版本和开发...
### Linux 下 Android 源码环境配置详解 #### 一、环境准备与基本概念 在开始之前,我们需要明确几个概念: - **Git**:一种分布式版本控制系统,用于管理 Android 源码。 - **JDK**:Java 开发工具包,Android ...
你需要一个运行Linux操作系统的机器,通常选择Ubuntu是最为推荐的,因为Google官方提供的Android源码构建工具主要针对这种环境。确保你的系统版本是64位,并且更新到最新。同时,确保你有足够的硬盘空间,因为...
Android Toolchain 环境搭建是 Android 开发的必要步骤之一,本文将详细介绍如何在 WinXP 中搭建 Android Toolchain 环境。 一、安装 Cygwin 在开始搭建 Android Toolchain 环境之前,需要先安装 Cygwin。Cygwin ...
3. **下载源码**:使用git工具克隆或下载Android 8.1的源码。 4. **设置编译参数**:根据需求选择不同的编译目标,如`eng`(工程版)、`userdebug`(调试版)等。 5. **执行编译命令**:运行`lunch`命令来选择编译...
在Android开发中,Linux环境常用于编译Android源码、调试内核以及使用各种开发和测试工具。 在全面搭建Linux环境前,我们需要准备以下事项: 1. **选择Linux发行版**:有很多Linux发行版可以选择,如Ubuntu、...
### Android源码的下载与编译详解 在深入探索Android操作系统的世界时,了解其源代码的获取和编译过程是至关重要的一步。本文将详细解析从环境搭建到源码编译的全过程,确保读者能够顺利地从零开始构建自己的...
本文将详细阐述如何在Linux环境下搭建Android交叉编译环境,并针对iperf3.0源码进行编译,以生成适用于Android系统的可执行文件。 首先,交叉编译是指在一个平台上构建另一个平台上的软件。对于Android,我们通常在...
《在Linux平台上搭建Android开发环境》 Android作为Google于2007年推出的开源手机操作系统,基于Linux内核,以其开源性、无兼容性问题以及强大的功能,已经成为全球市场份额最大的智能手机系统。Android平台的优势...
在Linux环境下编译Android源码是一项复杂而细致的工作,涉及到多个步骤和依赖的软件安装。以下是对这个过程的详细说明: 首先,你需要确保有一台运行Linux系统的计算机,并且准备了必要的工具。在这个过程中,我们...
在Android应用开发的世界里,环境搭建是初学者的首要任务,它是通往编程殿堂的第一步。本文将详述如何搭建一个完整的Android开发环境,以便进行Android应用的毕业设计或论文研究。 1. 安装Java Development Kit ...
1. `source.properties`:这是Android源码树中的一个文件,通常包含当前源码版本的信息,如版本号、分支等,用于构建和版本管理。 2. `mock_android`:可能是一个模拟Android系统环境的项目,用于测试和开发,帮助...
此外,Android源码仓库中还有一些不在Repo管理下的项目,可以使用`git clone`直接下载。例如,要获取Linux 3.0的源代码,可以执行`git clone https://android.googlesource.com/kernel/common`,然后在common目录下...
在本文中,我们将深入探讨如何使用Eclipse搭建Android开发环境,这是Android早期开发阶段非常流行的集成开发环境(IDE)。Eclipse以其强大的插件系统和灵活的代码编辑功能,深受开发者喜爱,尤其对于初学者,它提供...
在Android应用开发的世界里,环境搭建是初学者的首要任务,它是所有开发工作的基础。本文将详细介绍如何搭建一个完整的Android开发环境,以便于你能够顺利地进行应用开发。 首先,你需要一个支持Java开发的集成开发...
1. **APP源码**:芥末社区的APP源码可能是用Android Studio或Xcode等主流移动开发工具编写的,可能使用Java、Kotlin(对于Android)或Swift、Objective-C(对于iOS)。源码可能基于MVC(Model-View-Controller)、...