Mac下编译Android以及goldfish内核

虚拟机挂了,Android源代码都没了。。不准备再在虚拟机中下载Android源码了,于是就直接在Mac下编译Android。


在Mac下编译Android比想象的简单多了。我的Mac系统是10.10Yousemite。安装的Xcode也是最新的7.1beta版本。


下载Android源码之前要做的一步就是从硬盘中分一个区分大小写的磁盘。因为Android的编译时要区分大小写的,这点也尤为重要,其实在Android官网上也有写,具体方法有两种,


其一:

利用Mac OS X自带的磁盘工具:


先不要点击任何磁盘,直接点击菜单栏的新建映像。


这样设定,写好名称分好大小,大小最好分大一点,Android源码下载完后有40+G。。。创建完成后,用如下命令挂载:

hdiutil attach /Volumes/HDD/Android.dmg -mountpoint /Volumes/android

其中的路径自己注意修改蛤。


分区分好之后就可以进入挂载的目录拉Android源码了。拉完基本就可以直接编译了。。。要记得安装Xcode,编译过程中可能会提示Xcode版本的问题:

Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk

这个时候要先用如下命令检查一下自己的Xcode版本:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

做如下修改:

//前提是你在WORKING_DIRECTORY目录下
$ vi build/core/combo/HOST_darwin-x86.mk
//找到mac_sdk_versions_supported
mac_sdk_versions_supported :=  10.6 10.7 10.8
//将上面这行换成
mac_sdk_versions_supported :=  10.9 10.10
//就是换一下支持的sdk版本号。
编译之前再安装一下JDK7,Android官网有链接,直接下载安装就可以,然后就可以直接编译了。

我是真的一次性就编译成功了。。


接下来记录一下内核的编译,内核的话我继续使用goldfish内核,这里再打个广告,我的CSDN资源有上传goldfish 各个版本的源码,我自己都是编译过的。大家如果网速不好的,可以直接去我的资源里面下载。


接下来就是编译内核了,编译内核之前要先讲交叉编译工具加入PATH路径,也就是android源码目录下的

android/AndroidMSourceFor5xAnd6/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8/bin

然后就可以用make -j8 ARCH=arm CROSS_COMPILE=arm-eabi-

-j8是利用你的核心数来编译,这个自己看着修改。ARCH和CROSS_COMPILE是制定编译的目标。


编译过程中有可能会出现elf.h找不到的问题,这时候直接从android源码中考过去就可以了:

sudo cp android/external/elfutils/src/libelf/elf.h /usr/include/


还有发现elf.h中的feature.h找不到,这里直接把include <feature.h>这行注释掉就可以,然后就可以编译成功。




2分钟就编译完了,-j8还是很好用的,蛤蛤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值