Android源码编译相关问题汇总

作者: Android开发网原创 时间: 2011-03-01

   很多网友在下载Android源码进行编译的时候存在很多问题,Android123给大家总结如下常见问题:

  1. Windows下能编译Android源代码吗?

   目前Android开发网正式Cygwin还无法在Windows下编译Android源代码,不过在Linux或Mac OS这些*nix系统下可以编译。

  2. 编译Android源码的JDK版本问题

   按照Google官方文档显示编译推荐在JDK 1.5来生成2.2或以前版本系统的ROM,这里Android123推荐大家使用64位的Linux系统来编译Android源代码可以减少很多不必要的错误。同时从Android 2.3姜饼开始使用JDK6来编译源码,这点大家注意。

  3. 真的想在Windows下编译源码怎么办?

   你可以在Windows下安装虚拟机,这里推荐性能和稳定性较好的VMWare 7.x版本,安装完后不要忘记安装VMWare Tools。这里推荐虚拟机的配置为1.5GB的内存和至少10GB的剩余空间,这里都是Google官方的资料,当然你的PC RAM不是很大可以适当降低,不过会大大增加编译的时间。

  4. 如何下载Android源码及配置编译环境

   这里我们可以通过手动在/etc/apt/sources.list添加你的系统源,这里以ubuntu为例,修改需要root权限,当然Android123推荐直接使用命令行添加

$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

接下来安装JDK5
$sudo apt-get install sun-java5-jdk

然后配置JDK5为默认的Java开发环境
$sudo update-java-alternatives -s java-1.5.0-sun

接下来下载安装相关的库文件,比如python、g++、git、zlib、curl等等,部分版本可能上面的这个源不存在,可以添加一些国内的源,经过Android123证实哈工大的源run.hit.edu.cn比较好。

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

然后配置环境变量

$ mkdir ~/bin
$ PATH=~/bin:$PATH

然后通过curl下载repo脚本

$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

开始创建存放Android源码目录

$ mkdir directory
$ cd directory

开始初始化repo,如果我们下载1.5的源码,即cupcake,可以执行

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

 接下来会提示输入你的用户名和邮箱,如果你需要上传Android源码分支,这个邮箱必须填写gmail账户,然后开始同步源码,就是下载Android源码

$ repo sync

 这里Android开发网通过分析repo脚本发现有个多线程参数,为-j

如果开启10个线程下载可以执行

$ repo sync -j 10

 整个源码大约2.6 GB,计算好你的网速需要下载多长时间,编译需要6GB的剩余空间,所以你如果在虚拟机上编译,千万别吝啬空间。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值