设为首页 收藏本站
查看: 876|回复: 0

[经验分享] 转 Mac OS X 10.6 下 android 源码编译

[复制链接]

尚未签到

发表于 2016-5-16 09:44:47 | 显示全部楼层 |阅读模式
  
  http://blog.csdn.net/edai9508/article/details/6003754
  
  1.需要至少8G大的大小写敏感分区 

在Mac下编译android的源代码需要一个大小写敏感(Case Sensitive)的分区格式如果你原来的分区不是HFS一类大小写敏感的文件格式,那么最简单的办法就是新建一个这种分区格式的dmg出来,命令如下: 


sudo hdiutil create -size 8g -type UDIF -fs HFSX -volname android ~/android.dmg 
sudo chown $USER ~/android.dmg 


或者使用磁盘工具创建dmg映像文件,步骤如下: 

1)在Finder中启动/应用程序/实用工具/磁盘工具; 

2)选择新建映像; 

3)选择目标位置,一般选择放在用户自己的目录下; 

3)大小选自定义:8G; 

4)格式选 Mac OS扩展(区分大小写,日志式)。 

然后编辑你的 ~/.bash_profile文件,没有则创建它,添加如下内容: 


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

之后你就可以使用mountAndroid挂载你的镜像文件到/Volumes/android目录下了。 
  
2.下载代码或者直接拷贝已有源代码到/Volumes/android目录下 

下载源码需要安装Repo工具,该工具是为了更好的使用Git源代码管理软件(类似于CVS等版本控制系统),执行以下命令创建~/bin目录: 

$ cd ~ 
$ mkdir bin 
$ echo $PATH 


下载Repo: 

$ curl https://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
  
If you are using sh, ksh, or bash, at the shell prompt, enter:
PATH=$PATH/:/dir/path
  
  下载源码使用命令:   
之后在/Volumes/android目录下创建android目录以存放android源码: 

$ cd /Volumes/android 
$ mkdir android 
$ cd android 

接着初始化Repo客户端: 

$ repo init -u git://android.git.kernel.org/platform/manifest.git 

成功后显示: 

repo initialized in /Volumes/android/android 

这时在/Volumes/android/android目录下就会有.repo的目录用来同步manifest文件,该文件是用来同步源码的,
  
$ repo sync 

大概要下载4G多的文件,所有下载过程会比较长。 

3.下载并安装XCode和MacPorts 

首先下载安装最新的XCode,下载地址:http://developer.apple.com 
然后下载MacPorts,下载地址: http://www.macports.org/ 运行tar -zxvf tarfilename命令解压,切换到解压后的目录并安装: 
$ ./configure 
$ make 
$ sudo make install 
然后修改~/.bash_profile文件,添加: 
export PATH=/opt/local/bin:$PATH 
然后执行命令让MacPort自更新: 
$ sudo port selfupdate 
从port中安装需要的包 (如果 OS 为 10.6 以上,或 make --version 为 3.81 及以上,不必 install gmake)
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg 
更新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文件,添加: 
# set the number of open files to be 1024 
ulimit -S -n 1024 
  
4.编译源码 

首先修改~/.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 
export PATH JAVA_HOME ANDROID_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

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217587-1-1.html 上篇帖子: Mac OS X: 实用脚本程序(bash scripts)系列-8 下篇帖子: Mac OS X(Lion)下源码安装Nginx + PHP + MySQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表