转 Mac OS X 10.6 下 android 源码编译
http://blog.csdn.net/edai9508/article/details/6003754
1.需要至少8G大的大小写敏感分区
在Mac下编译android的源代码需要一个大小写敏感(CaseSensitive)的分区格式如果你原来的分区不是HFS一类大小写敏感的文件格式,那么最简单的办法就是新建一个这种分区格式的dmg出来,命令如下:
sudohdiutilcreate-size8g-typeUDIF-fsHFSX-volnameandroid~/android.dmg
sudochown$USER~/android.dmg
或者使用磁盘工具创建dmg映像文件,步骤如下:
1)在Finder中启动/应用程序/实用工具/磁盘工具;
2)选择新建映像;
3)选择目标位置,一般选择放在用户自己的目录下;
3)大小选自定义:8G;
4)格式选MacOS扩展(区分大小写,日志式)。
然后编辑你的~/.bash_profile文件,没有则创建它,添加如下内容:
#commandtomounttheandroidfileimage
functionmountAndroid{hdiutilattach~/android.dmg-mountpoint/Volumes/android;}
之后你就可以使用mountAndroid挂载你的镜像文件到/Volumes/android目录下了。2.下载代码或者直接拷贝已有源代码到/Volumes/android目录下
下载源码需要安装Repo工具,该工具是为了更好的使用Git源代码管理软件(类似于CVS等版本控制系统),执行以下命令创建~/bin目录:
$cd~
$mkdirbin
$echo$PATH
下载Repo:
$curlhttps://android.git.kernel.org/repo>~/bin/repo
$ chmod a+x ~/bin/repo设置环境变量:
If you are using csh or tcsh, at the shell prompt, enter:setenv PATH $PATH/:/dir/path
Ifyouareusingsh,ksh,orbash,attheshellprompt,enter:
PATH=$PATH/:/dir/path下载源码使用命令:
之后在/Volumes/android目录下创建android目录以存放android源码:
$cd/Volumes/android
$mkdirandroid
$cdandroid
接着初始化Repo客户端:
$repoinit-ugit://android.git.kernel.org/platform/manifest.git
成功后显示:
repoinitializedin/Volumes/android/android
这时在/Volumes/android/android目录下就会有.repo的目录用来同步manifest文件,该文件是用来同步源码的,$reposync
大概要下载4G多的文件,所有下载过程会比较长。
3.下载并安装XCode和MacPorts
首先下载安装最新的XCode,下载地址:http://developer.apple.com
然后下载MacPorts,下载地址:http://www.macports.org/运行tar-zxvftarfilename命令解压,切换到解压后的目录并安装:
$./configure
$make
$sudomakeinstall
然后修改~/.bash_profile文件,添加:
exportPATH=/opt/local/bin:$PATH
然后执行命令让MacPort自更新:
$sudoportselfupdate
从port中安装需要的包(如果OS为10.6以上,或make--version为3.81及以上,不必installgmake)
$POSIXLY_CORRECT=1sudoportinstallgmakelibsdlgit-coregnupg
更新GNU到最新版本:
$ sudo ln -s gmake /opt/local/bin/make修改~/.bash_profile文件
1. 输入cd ~
2. 创建.bash_profile
输入touch .bash_profile
3. 编辑.bash_profile文件
输入open -e .bash_profile
因为是为了搭建Android开发环境,输入Android SDK下的tools目录:export PATH=${PATH}:/eclipse/android_sdk/tools
4. 保存文件,关闭.bash_profile
5. 更新刚配置的环境变量
输入source .bash_profile
修改~/.bash_profile文件,添加:
#setthenumberofopenfilestobe1024
ulimit -S -n 10244.编译源码
首先修改~/.bash_profile文件,添加:
PATH=$PATH:/Volumes/android/android/bin
#JAVA_HOME=/usr/bin
JAVA_HOME=/Library/Java/Home
ANDROID_PRODUCT_OUT=/Volumes/android/android/out/target/product/generic
ANDROID_PRODUCT_OUT_BIN=/Volumes/android/android/out/host/darwin-x86/bin
PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_PRODUCT_OUT}:~/eclipse
exportPATHJAVA_HOMEANDROID_PRODUCT_OUT
然后打开一个新的命令行窗口,执行以下命令:
$cd/Volumes/android/android
$make
源码编译时间较长,大概需要4~5个小时,请耐心等待,编译完成之后,执行命令:
$emulator
将 调出模拟器,说明编译成功!5. 验证
将 编译结果 images 在 /out/.../generic 或 单独拷贝至其他目录 测试,其中, kernel-qemu 位于 /prebuild/android-arm/kernel 目录下。参数 -partition-size 128 调整 system/data 分区大小;
cd /Volumes/slAndroid/opImages
emulator -sysdir /Volumes/slAndroid/opImages -kernel kernel-qemu -ramdisk ramdisk.img -system system.img -data userdata.img -partition-size 128 -memory 256 -no-boot-anim