感谢支持
我们一直在努力

在Ubuntu上编译Android源代码 – 搭建环境

下文将向大家介绍如何构建Android源代码的编译环境,为了能成功编译,你需要使用Ubuntu操作系统。
注意:Android源代码的大小大约是2.6GB,它需要在你的系统里腾出10G空间来进行全编译。
下图展示了Android每个版本源代码开发、升级的整体过程。



如果您想实时查看Android系统某一部分的代码,请访问http://android.git.kernel.org/


建立Linux编译环境:
按照惯例,我们在Ubuntu的最新版本上测试编译过程,但是,大多数的Linux发行版都是可以像Ubuntu一样提供编译所需要的环境的。如果您在哪个Linux发行版上编译成功或编译失败,我们很欢迎您能将信息反馈给我们。
注意:也可以在虚拟机上编译Android源代码。如果是在虚拟机中运行Linux,为了能够构建Android项目树,至少需要8GB的RAM/swap和另外12GB的硬盘空间。
总的来说,你需要一下工具:
1. Python2.4 ~ 2.7 python.org .
2. JDK 6(编译Gingerbread),JDK5(编译Froyo),java.sun.com .
3. Git1.5.4或更新版本git-scm.com .
4.(可选)Valgirnd,一个可以帮助你发现内存泄漏、栈溢出和数组越界等问题的工具valgrind.org .


下面,以Ubuntu 10.04为例来说明具体的搭建过程:
下载JDK
Sun JDK已经被从Ubuntu的主安装包仓库中移除。www.linuxidc.com为了下载JDK,需要为系统指定JDK安装包地址
Java 6:编译Gingerbread或更新版本


  1. $ sudo add-apt-repository “deb http://archive.canonical.com/ lucid partner”   

  2. $ sudo add-apt-repository “deb-src http://archive.canonical.com/ubuntu lucid partner”   

  3. $ sudo apt-get update   

  4. $ sudo apt-get install sun-java6-jdk  


Java 5:编译Froyo和更老版本


  1. $ sudo add-apt-repository “deb http://archive.ubuntu.com/ubuntu dapper main multiverse”  

  2. $ sudo add-apt-repository “deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse”  

  3. $ sudo apt-get update   

  4. $ sudo apt-get install sun-java5-jdk  
安装必须的包:


为了构建开发环境,需要安装一下包:
64位系统:


  1. $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev   

  2.   lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev  


32位系统:


  1. $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev   

  2.   libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libz-dev libgl1-mesa-dev  


为了能够在64位系统上编译Froyo或者更老的发布版本,需要额外的一些用来创建32位编译环境的包:


  1. $ sudo apt-get install gcc-multilib g++-multilib libc6-i386 libc6-dev-i386  


访问USB:


在GNU/linux系统(尤其是Unbuntu系统)中,默认情况下,用户通常不能直接访问USB设备,我们需要进行配置。


  1. # adb protocol on passion (Nexus One)   

  2. SUBSYSTEM==“usb”, ATTR{idVendor}==“18d1”, ATTR{idProduct}==“4e12”, MODE=“0600”, OWNER=“<username>” 

  3. # fastboot protocol on passion (Nexus One)   

  4. SUBSYSTEM==“usb”, ATTR{idVendor}==“0bb4”, ATTR{idProduct}==“0fff”, MODE=“0600”, OWNER=“<username>” 

  5. # adb protocol on crespo (Nexus S)   

  6. SUBSYSTEM==“usb”, ATTR{idVendor}==“18d1”, ATTR{idProduct}==“4e22”, MODE=“0600”, OWNER=“<username>” 

  7. # fastboot protocol on crespo (Nexus S)   

  8. SUBSYSTEM==“usb”, ATTR{idVendor}==“18d1”, ATTR{idProduct}==“4e20”, MODE=“0600”, OWNER=“<username>”  

建议您在系统上创建一个文件/ 然收将下面的内容复制到里面。注意,请务必用具体的username替换一下文本中的“username”字符串
这些规则将会在下次插入设备时起作用,这就需要您先移除设备后再次连接。


在Ubuntu Hardy Heron (8.04.x LTS) 和 Lucid Lynx (10.04.x LTS)上,完成以上操作,您就已经搭建好编译环境了.如果是其他版本的Ubuntu或者其它变种的GNU/linux可能需要不同的配置。

赞(0) 打赏
转载请注明出处:服务器评测 » 在Ubuntu上编译Android源代码 – 搭建环境
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏