Mac Android 源码下载 编译 运行 Android6.0.1

     其实之前也有下载过完整的android 源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西 官网上面都有。http://source.android.com/  这个是网址,英文不错的朋友可以直接看这个,还有点想说,现在都6.0.1了 如果编译旧的版本好多东西都需要重新改, 建议编译6.0.1 比较省力,当然看各自的需求了。

     我的环境
- 系统版本  OS X  10.11.2
- jdk1.7.0_51.jdk
- Xcode 7.1.1
-GNU Make 3.81

下载源码:

1.在用户目录下 创建 ~/bin
  添加以下命令到~/.bash_profile
  export PATH=~/bin:$PATH
2.安装repo。
    具体参考 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
     如果中间断掉 继续同步就可以了

编译:
1. 创建大小写敏感的磁盘镜像
可以通过磁盘管理工具进行设置,也可以通过以下命令生成镜像文件
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 70g ~/Android.dmg.sparsefile
2.挂载磁盘
hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android
成功之后 会有
/dev/disk2          GUID_partition_scheme
/dev/disk2s1        EFI
/dev/disk2s2        Apple_HFS                      /Volumes/android
注意 这里需要在不同的用户下挂载,比如说这个 是挂载在系统目录下的。
3.之后 将下载好的源码 放在 大小写敏感的磁盘下面。可以将.repo目录删除
4.执行 source build/envsetup.sh
5.执行 lunch 选择相应的项
6.执行 make -j4
有时会报类似于
Please install the 10.5 SDK on this machine at /Developer/SDKs/MacOSX10.5.sdk
错误,6.0编译的时候  编译文件 已经配置了多个SDK 如果还是没有的话,只需要将
Xcode 包 中的sdk添加进去就可以了。

7.在编译iptables的时候会缺少一些文件
在external/iptables/include/linux目录下,添加缺少的文件,可以参阅http://git.oschina.net/androidsourcecode/external_iptables/tree/master/include/linux
其实目录下面是有这些文件的,但是由于大小写的问题所以需要在手动添加,这里注意添加的时候
注意源文件的 内容,添加完之后  最好在检查一遍,我在这里被坑了好多次。
8.重新执行 make -j4  大概执行 3个多小时 就编译完成了

编译成功会出现以下信息:
Generated: (out/target/product/generic/android-info.txt
Target system fs image:
out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img



运行模拟器
     在~/ out/target/product/generic_x86_64 目录下运行命令:
emulator -image system.img -data userdata.img -ramdisk ramdisk.img 

然后模拟器就起来了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值