android编译源码运行-Mac OS X下编译android源代码

为了能够同时开发iPhone应用程序和Android应用程序,我将所有开发环境集成到我的Macbook中。 虽然用 Macbook 开发普通的 Android 应用是没有问题的,但是如果想要使用 Eclipse 来浏览和编译 Android 的话,阅读源码和调试它的 SDK 就非常麻烦了。 通过Google,我发现大部分Android源码的编译和开发环境都在Ubantu系统上。 虽然Android官网提供了在MacOS X上编译源代码的方法android编译源码运行,但我尝试了很多次,总是发现问题。

正好这段时间Android源码网站被黑了android编译源码运行,终于找到了下载完整代码的方法,于是趁着这个机会再次尝试编译源码,同时在Eclipse上调试成功,并将整个过程记录下来,方便以后参考。

1.搭建MacOS X编译环境

这个点是按照Android官网提供的方法设置的,这里我只做了一些翻译和解释工作。 我自己的Macbook已经升级到Lion了,所以不用担心操作系统配置的问题。 径直向上走。

1、创建区分大小写的C盘镜像文件

因为编译Android源代码需要将代码存储在区分大小写的C盘中,所以我们需要先创建一个区分大小写的磁盘镜像文件(如果你的C盘已经区分大小写,则省略此步骤,直接进入步骤2)。

转到“应用程序/实用程序/磁盘实用程序”,选择“文件”->“新建”->“新建空白映像”:

其中名称可以任意,大小可自定义30G,格式为MacOs扩展(区分大小写),镜像格式为稀疏c盘镜像,这样文件大小会随着文件数量的增加而减小。 大,其他都是默认选项。

同时也可以通过命令行生成C盘镜像:

$hdiutil create -t​​ype SPARSE -fs '区分大小写的日志式 HFS+' -size 30g /path-to-image/AndroidDisk.sparseimage

生成的硬盘镜像文件名为AndroidDisk.sparseimage。 看来创建之后,操作系统会手动加载镜像。 挂载点为/Volumes/android,其中android是我们为c盘镜像设置的名称。

另外,你还可以在~/.profile中添加如下代码: function mountAndroid { hdiutil Attach /path-to-image/AndroidDisk.sparseimage -mountpoint /Volumes/android; 之后,每次都可以使用mountAndroid命令。

2.安装所需的包

android编译源码运行-Mac OS X下编译android源代码

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

2) 从 macports.org 安装 MacPorts 工具

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

$回显$PATH

否则,将以下代码添加到 ~/.profile。

导出 PATH=/opt/local/bin:$PATH

3) 从 MacPorts 安装 make、git 和 GPG 软件包:

$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 行之前添加以下行:

文件:///用户/共享/dports

然后按顺序执行以下步骤:

$ mkdir /用户/共享/dports

$cd /用户/共享/dports/

$ svn co --修订版 50980

$portindex /用户/共享/dports

$ sudo port install gmake @3.81 执行完成后,查看gmake的版本:

$ gmake –版本

GNUMake 3.81

5)修改文件标识符限制

所以下载Android源码之前的最后一步就是修改文件标识符限制:

由于MacOS默认将同时打开的文件标识符的数量限制为较小的数量,因此并行编译处理可能会超出此限制。 所以在~/.profile中添加这样一段:

#设置打开文件数为1024

ulimit -S -n 1024

2.下载姜饼源码

Android源码网站android.git.kernel.org已经被黑很久了,后来又在网上找到了另一个提供源码下载的网站。

1.创建~/bin/目录

$ mkdir ~/bin

$PATH=~/bin:$PATH

2.安装仓库

$curl > ~/bin/repo

3.设置repo可执行权限

$chmoda +x ~/bin/repo

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

REPO_URL='#39;

变成

REPO_URL='#39;

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

$ mkdir android_gingerbread_src

$ cd android_gingerbread_src

6.执行repointit

$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/"

android编译源码运行-Mac OS X下编译android源代码

8.回到android_gingerbread_src目录,执行reposync

$ 回购同步

这一步会花很长时间,喝杯茶等待吧。

3.编译姜饼源码

1)搭建必要的编译环境

首先编译姜饼需要jdk1.6版本,但是Mac已经自带了,所以这一步就省略了。

其次,gingerbread的编译也依赖MacOSX10.5.sdk,但是我安装了最新版本的Xcode后,仍然编译失败。 后来看了一下编译脚本配置文件external/qemu/Makefile.Android,其中第72行,LEOPARD_SDK:= /Developer/SDKs/MacOSX10.5.sdk,修改为:

LEOPARD_SDK:= /Developer/SDKs/MacOSX10.6.sdk,即可编译通过。

初始化编译环境:

$源构建/envsetup.sh

2)选择编译目标

$全英文午餐

3)开始编译代码

$make

如果幸运的话,你可以听到最终成功的提示,goodluck!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 android编译源码运行-Mac OS X下编译android源代码 https://www.wkzy.net/game/160035.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务