您的位置 首页 5G

Mac OS X 下用 Eclipse 阅读和编译 Android 源代码

为了能够同时开发iPhone应用程序和Android应用程序,我将所有的开发环境都集成到了自己的Macbook上,虽然用Macbook开发普通的Android应用程序没什么问题,

为了能够一起开发iPhone应用程序和Android应用程序,我将一切的开发环境都集成到了自己的Macbook上,尽管用Macbook开发一般的Android应用程序没什么问题,可是你要是想用Eclipse阅读和编译Android源代码而且对其SDK进行调试,便是很费事的作业了。经过Google发现绝大部分Android源代码的编译和开发环境都是在Ubantu体系上,尽管Android官网供给了在MacOS X上编译源码的办法,可是测验了屡次总是发现有问题。

刚好这段时刻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

$ sudo port install gmake @3.81

履行完成后,检查一下gmake的版别:

$gmake –version

GNUMake 3.81

5)修正文件标识符约束

所以最终下载Android源码前的最终一步便是,修正文件标识符约束:

因为MacOS默许将一起翻开的文件标识符数量约束得太小,并行编译处理时可能会超出这个约束。所以在 ~/.profile里加上这么一段:

#set the number of open files to be 1024

ulimit -S -n 1024

二.下载gingerbread源代码

Android源代码网站android.git.kernel.org现已被黑了很长一段时刻,后来在网上别的找到一网站供给源代码下载。

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

这一步需求很长时刻,喝杯茶等吧。

三.编译gingerbread源代码

1)设置必要的编译环境

编译gingerbread首要需求jdk1.6版别,不过Mac上现已自带了,所以省却这个过程。

其次是gingerbread的编译还依赖于MacOSX10.5.sdk,可是我装置Xcode最新版别后,一直都无法经过编译,后来自己看了一下编译脚本配置文件external/qemu/Makefile.android,其间第72行,LEOPARD_SDK:= /Developer/SDKs/MacOSX10.5.sdk,将其修正为:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/298372.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部