ANDROID源码编译1 - 初始化编译环境

近日,下载了ANDROID的源码尝试进行编译,故针对其过程,根据Google的官方说明,进行一次翻译,其原始网址为http://source.android.com/source/index.html,本文只针对Linux环境下的步骤进行翻译。

 

注意:源代码的大小大概2.6G,至少需要10G的空闲空间来进行编译。(snowolf_538:我下载的Gingerbread总共大概占了近6个G

注意:使用虚拟机Linux也是可以编译ANDROID源码的,但是需要至少8G的内存/交换空间和至少12G的硬盘空间。(snowolf_538:事实上,不理解此处为什么需要8G的内存/交换空间,我使用的是Ubuntu 11.04版本的虚拟机,只设置了1G的内存和2G的交换空间,编译没有问题

 

通常来讲,需要:

 

 

以下步骤基于Ubuntu 10.04+

 

安装JDK

 

JDK不再在Ubuntu的主包库里面,所以需要根据ANDROID的版本号下载对应的JDK。

JDK6:Gingerbread或者更新

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk


snowolf_538:上面的第二句执行时会报错,说是无效的地址,我实际使用的是sudo add-apt-repository "deb http://archive.canonical.com/ubuntu lucid parter"


JDK5:Froyo或者更老

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk


安装必需的包

 

安装以下必需的包以建立完整的编译环境

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos


snowolf_538:以上包安装时,其中lib32ncurses5-dev、ia32-libs、lib32readline5-dev和lib32z-dev无法找到,故使用libncurses5-dev、libreadline5-dev和libz-dev来代替,ia32-libs好像没有影响



配置USB访问

 

在GNU/Linux系统下(特别是在Ubuntu系统下),一般用户默认不能访问USB设备,我们需要配置使其可以访问。

推荐的方法是用root用户创建/etc/udev/rules.d/51-android.rules文件,把以下的行拷贝到该文件中。<username>必须被替换成实际使用USB去访问手机的用户名。

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"


这些规则将会在下一次设备插上的时候生效。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值