设为首页 加入收藏

TOP

Mac OS X下用Eclipse浏览和编译Android源代码
2014-11-24 12:42:43 来源: 作者: 【 】 浏览:0
Tags:Mac 下用 Eclipse 浏览 编译 Android 源代码

刚好这段时间Android源码网站被黑,终于找了一个方法能够下载到完整的代码,于是就借此机会再次尝试一下编译源码,同时在Eclipse里面调试成功,记录下来整个过程方便以后查阅。


.设置MacOS X编译环境


这一点是根据Android官方网站提供的方法来设置的,我这里只做了一些翻译和解释工作。我自己的Macbook已经升级到了Lion,对于操作系统配置什么就不用去担心了。直接上吧。


1.创建一个大小写敏感的磁盘镜像文件


由于编译Android源代码需要将代码存放在大小写敏感的磁盘当中,所以我们需要首先创建一个大小写敏感的磁盘镜像文件(如果你的磁盘已经是大小写敏感的,则省略这个步骤,直接进入步骤2.


进入应用程序/实用工具/磁盘工具,选择文件->新建->新建空白映像:




其中名称可以随意,大小可以选择自定义30G,格式选用MacOs扩展(区分大小写),映像格式选择稀疏磁盘映像,这样文件的大小会随着文件的多少而增长,不用一上来就搞30G那么大,其它都是默认选项。


同时,你还可以通过命令行方式生成该磁盘镜像:


$hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 30g /path-to-image/AndroidDisk.sparseimage


生成的硬盘镜像文件名就是AndroidDisk.sparseimage了。似乎创建完以后OS会自动把这个镜像加载上去,挂载点是/Volumes/android,其中android就是上面我们为磁盘镜像设置的名称


另外也可以将如下一行代码加入到~/.profile当中,function mountAndroid { hdiutil attach /path-to-image/AndroidDisk.sparseimage -mountpoint /Volumes/android; }这样以后每次用mountAndroid命令就行了。


2.安装所需要的包


1)首先你要安装的就是Xcode,由于我的机器本身就是用来开发iPhone应用程序的,所以我的Xcode是最新的版本,如果你没有Xcode,可以到苹果的官网注册一个appleid,然后可以免费下载最新的Xcode工具和MacOS SDK


2)从macports.org安装MacPorts工具


安装MacPorts之前需要确认环境变量PATH中,/opt/local/bin出现在/usr/bin之前,可以运行一下这行来确认:


$echo $PATH


否则,就将如下代码加入~/.profile当中。


export PATH=/opt/local/bin:$PATH


3)从MacPorts安装make,git, and GPG packages


$POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg


4)将gmake3.82还原到3.81


gmake3.82版本存在一个Bug,所以我们要将其还原为3.81版本。


$sudo vim /opt/local/etc/macports/sources.conf


然后在rsync那行的上面一行加上:


file:///Users/Shared/dports


然后按照下面的步骤依次执行:


$mkdir /Users/Shared/dports


$cd /Users/Shared/dports/


$svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/devel/gmake/


$portindex /Users/Shared/dports


执行完成后,检查一下gmake的版本:


$gmake –version


GNUMake 3.81


5)修改文件标识符限制


于是最后下载Android源码前的最后一步就是,修改文件标识符限制:
由于MacOS默认将同时打开的文件标识符数量限制得太小,并行编译处理时可能会超出这个限制。所以在 ~/.profile里加上这么一段:


#set the number of open files to be 1024


ulimit -S -n 1024




.下载gingerbread源代码


1.创建~/bin/目录


$mkdir ~/bin


$PATH=~/bin:$PATH


2.安装repo


$curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo


3.设置repo可执行权限


$chmoda +x ~/bin/repo


4.修改~/bin/repo文件将第五行


REPO_URL='https://code.google.com/p/git-repo/'


改为


REPO_URL='http://code.google.com/p/git-repo/'


5.新建目录gingerbread,并进入该目录


$mkdir android_gingerbread_src


$cd android_gingerbread_src


6.执行repoinit


$repo init -u git://Android.git.linaro.org/platform/manifest.git -bgingerbread


7.找到android_gingerbread_src目录中的.repo下面的manifest.xml文件,该文件只是一个链接,实际上是manifest目录下面的default.xml文件,将


fetch="git://Android.git.kernel.org/"


改为


fetch="git://Android.git.linaro.org/"


8.回到android_gingerbread_src目录下,执行reposync


$repo sync


这一步需要很长时间,喝杯茶等吧。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇S3C2410多通道adc驱动及测试程序 下一篇Android推送通知指南

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)