MAC上配置android系统编译环境、下载android系统源码和编译

在谷歌官网(http://source.android.com/source/initializing.html)上有关于android系统源码的下载和编译的流程,只有linux和mac os才支持,而windows是不支持的。

我主要介绍mac os上android系统源码的下载和编译的流程。


1 选择需要的分支

你选择的分支不相同,那么你需要的编译环境也会不同。你也可以选择下载和编译最新的源代码(最新的源代码就是master分支上的代码),在这种情况下初始化存储库就可以忽略分支规范。

你选择了一个分支之后,请按照下面相应的说明来设置你的编译环境。


2 设置mac os的编译环境

在默认安装中,Mac OS的文件系统不是case-insensitive。这种类型的文件系统不支持git,并会造成一些Git命令(如git status)的行为异常。正因为如此,我们建议您用case-insensitive的文件系统存放AOSP源文件。使用磁盘映像可以相当容易地做到,下面讨论。

一旦case-insensitive的文件系统已经被创建,在当今的Mac OS环境上编译主分支是非常简单的。更早的分支,包括ICS,需要一些额外的工具和SDK。

2.1 创建一个case-insensitive磁盘镜像

您可以在您现有的Mac OS环境中创建一个区分大小写的磁盘映像。要创建映像,启动磁盘工具和选择“new image”。25 GB大小磁盘是完成编译最小的需求;较大的磁盘空间更是面向未来的。建议使用稀疏磁盘镜像,因为稀疏磁盘镜像可以设置一个最大空间,他的大小会根据磁盘实际的使用空间变化而不会超过最大值。一定要选择“case sensitive, journaled”为卷格式。

你可以通过以下shell命令创建一个稀疏磁盘镜像:

# hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg

上面的命令会在~/目录下创建一个名称为android.img.sparsefile的文件,一旦该文件被挂载,它就可以作为android开发所需要格式的镜像驱动使用。

如果以后你想要更大的镜像空间,你可以通过下面的命令来改变稀疏磁盘镜像的最大空间大小:

# hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

对于一个存放在~/目录下的镜像android.dmg.sparseimage,可以在文件~/.bash_profile中添加帮助函数:

执行mountAndroid命令挂载磁盘镜像:

# mount the android file image
function mountAndroid { hdiutil attach~/android.dmg -mountpoint /Volumes/android;}

执行umountAndroid命令卸载磁盘镜像:

# unmount the android file image
function umountAndroid() { hdiutil detach /Volumes/android;}

一旦你挂载了磁盘镜像android.dmg.sparseimage,你就可以在该磁盘上工作了,你可以像使用一个外部硬盘一样来挂载和卸载android.dmg.sparseimage。

2.2 安装jdk

master分支和5.0.x分支上的android系统源代码是aosp结构的,需要jdk-7ux,可以使用jdk-7u71-macosx-x64.dmg.

对于Android版本从Gingerbread(android-2.3_r1)到KitKat(android-4.4.4_r2)的编译,需要下载和安装Java 6 version of theJava JDK.

2.3 安装Xcode和Command Line Tools

对于不同版本的Android源码,Xcode版本的选择是很重要的,否则编译的时候会遇到各种编译不过的问题,我编译的Android源码的版本是android-4.4.4_r2(需求MacOSX10.6.sdk、MacOSX10.7.sdk和MacOSX10.8.sdk),因此我选择再安装一个Xcode5.0.2版本(包含MacOSX10.8.sdk和MacOSX10.9.sdk)并且将其安装在/Applications/xcode5.0.2/目录下,可以到Xcode不同版本下载不同版本的Xcode,安装完Xcode5.0.2后,通过命令xcode-select -p查看当前系统使用的Xcode的是那个版本,

$ xcode-select -p

/Applications/Xcode.app/Contents/Developer/

显然用的是不是Xcode5.0.2版本,可以通过如下命令进行切换到Xcode5.0.2版本

xcode-select -s /Applications/xcode5.0.2/Xcode.app/Contents/Developer/

Command Line Tools是不需要单独安装,你安装完xcode后就有了。

File -> New -> Project -> Application ->Command Line Tool.

下面是谷歌官网提供的不同版本Android源码所需要Xcode的版本。

Master branch

To build the latest source in a Mac OS environment, you will need an Intel/x86 machine running Mac OS X v10.8 (Mountain Lion) or later, along with Xcode 4.5.2 or later including the Command Line Tools.

Branch 5.0.x and earlier branches

To build 5.0.x and earlier source in a Mac OS environment, you will need an Intel/x86 machine running Mac OS X v10.8 (Mountain Lion), along with Xcode 4.5.2 and Command Line Tools.

Branch 4.4.x and earlier branches

To build 4.2.x and earlier source in a Mac OS environment, you will need an Intel/x86 machine running Mac OS X v10.6 (Snow Leopard) or Mac OS X v10.7 (Lion), along with Xcode 4.2 (Apple's Developer Tools). Although Lion does not come with a JDK, it should install automatically when you attempt to build the source.

The remaining sections for Mac OS apply only to those who wish to build earlier branches.

Branch 4.0.x and all earlier branches

To build android-4.0.x and earlier branches in a Mac OS environment, you need an Intel/x86 machine running Mac OS X v10.5 (Leopard) or Mac OS X v10.6 (Snow Leopard). You will need the Mac OS X v10.5 SDK.


2.4  在macports.org.下载和安装 MacPorts 

注意1:在path环境变量中,/opt/local/bin必须在/usr/bin前面,否者请在~/.bash_profile最后添加:

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

注意2:如果在你的home目录下没有.bash_profile文件,可以手动创建一个。


2.5 安装编译需要的其他工具

2.5.1 用MacPorts安装make、git和GPG:

$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

如果你使用的是Mac OS X v10.4, 还要安装bison:

$ POSIXLY_CORRECT=1 sudo port install bison


如果你编译的Android源码版本是 ICS之前的的版本,在gmake 3.82中有一个bug导致编译失败,因此应该根据如下的步骤安装gmake 3.81:

a:在 /opt/local/etc/macports/sources.conf文件中添加一行:

file:///Users/Shared/dports

创建文件夹:

$ mkdir /Users/Shared/dports

b:切换到dports目录下,执行如下命令:

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

c:创建新的本地仓库端口:

$ portindex /Users/Shared/dports

d:最后,安装老版本的gmake:

$ sudo port install gmake @3.81

2.6 设置文件描述符限制

在mac系统中,默认同时打开的文件描述符数量的上限太小,然而高度并行的构建过程可能会超过此限制。

为了提高上限,添加如下内容到~/.bash_profile文件中:

# set the number of open files to be 1024

ulimit -S -n 1024


3 下载和编译Android源码

3.1 安装 Repo

由于 google是通过repo对Android源码进行管理的,在android-4.4.4_r2版本源码中包含了412个git资源库,repo就是用来管理这412个git资源库的。

a:确定bin/目录在你的home目录中并且被包含在path环境变量中:

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

b:下载repo工具并且确保其有可执行的权限:

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

3.2 初始化一个repo客户端(用来访问Android源代码库)

a:创建一个空的目录用来保存源码文件,如果你用的是MacOS,应该先切换到android.dmg.sparseimage镜像中,可以取任意的名称:

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

b:由于我要下载的是android-4.4.4_r2版本源码,因此用如下命令初始化repo本地库:

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

如果你想下载最新的源代码,可以用如下命令下载master分支的代码:

$ repo init -u https://android.googlesource.com/platform/manifest

3.3 下载Android源码

通过如下命令同步Android源码:

$ repo sync -j8

注意:大家懂得,由于google被墙了,所以想要下载源代码,要么通过vpn翻墙,要么在国内的网站下载,我就是在git.omapzoom.org/网站下载的,因此在3.2中的b中将命令替换为:

 $ repo init -u git://git.omapzoom.org/platform/manifest -b android-4.4.4_r2

注意这一步必须通过vpn翻墙,这一步很快就会ok,然后再断开vpn,执行3.3中的命令就可以快速的下载源码。下载的过程中,可能会因为网络原因停止,然后在执行$ repo sync -j8命令就可以继续下载。

我下载的是android-4.4.4_r2版本源码,大约47G。


3.4 编译Android源码

a:通过运行envsetup.sh脚本来初始化编译环境

$ source build/envsetup.sh

b:选择一个编译目标

$ lunch aosp_arm-eng

所有的目标由BUILD-BUILDTYPE构成,下面列表中列举了部分的BUILD: 



BUILDTYPE是下面列表中的一个:

 

c:执行如下命令开始编译源代码:

$ make -j8


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi是一种可视化的集成开发环境(IDE),它支持多种编程语言,包括Delphi语言和Object Pascal。通过使用Delphi IDE,开发人员可以快速创建跨平台的应用程序,包括Windows、MacAndroid等操作系统。 在Delphi中开发Android应用程序,我们需要使用Delphi提供的Android开发工具包(Android SDK)。Delphi的Android开发工具包集成了一个独立的开发环境,使开发人员能够直接在Delphi IDE中创建和编译Android应用程序。 Delphi的Android源码包含了一系列用于开发Android应用程序的单元(unit)文件。在这些源码文件中,我们可以找到各种用于实现Android应用程序所需功能的类、方法和属性。 使用Delphi的Android源码,开发人员可以轻松地创建Android界面、操作设备硬件、访问网络服务和数据库等。此外,Delphi还提供了许多丰富的组件和控件,用于创建各种用户界面和交互元素。 Delphi的Android源码还包含了一些示例代码,用于展示如何使用Delphi开发Android应用程序。这些示例代码涵盖了常见的开发场景,包括图形绘制、数据库操作、网络通信和传感器使用等。 总之,Delphi的Android源码是一个非常有用的资源,它为开发人员提供了丰富的功能和工具,使他们能够更快、更方便地开发Android应用程序。通过学习和掌握Delphi的Android源码,开发人员可以创建出高效、稳定和功能丰富的Android应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值