菜蜂 发表于 2015-12-29 13:57:18

android 5.0 (lollipop)源码编译环境搭建(Mac OS X)

  硬件环境:MacBook Pro Retina, 13-inch, Late 2013
  处理器2.4 GHz Intel Core i5
      内存8 GB 1600 MHz DDR3
      硬盘60G以上
  软件环境:OS X 10.9.2
      GNU Make 3.81
  Python 2.7.5
  XCode 5.0.2
  java version "1.7.0_55"
  repo VERSION = (1, 21)
  某收费VPN(代理FAN墙是下载不了的,请使用VPN)
  (软件版本问题非常可能导致下载或者编译失败!!!高版本请降至这些版本...)
  1.创建一个镜像。因为源码只能在大小写敏感的磁盘上编译(红色字体标示可以自行配置的参数,下同)
  hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 60g ~/android.dmg.sparsefile
  这里分了60G硬盘
  2.加载分区
  hdiutil attach ~/android.dmg.sparsefile -mountpoint /Volumes/android
  3.下载相应的工具
  主要说一下repo,请开vpn

  $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
  然后将repo的所在路径加到环境变量方便后面使用
  java、make等工具请自行google,尽量用和博主相同的软件版本。
  4.修改文件描述符限制
  在~/.bash_profile中添加以下内容:
    # set the number of open files to be 1024
    ulimit -S -n 1024
  5.进入到加载好的分区下(上面的/Volumes/android)
  cd /Volumes/android/
  mkdir android-source
  cd android-source
6.开始下载
    repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.0_r3
    如果init正常,执行
      repo sync 或 repo sync -j4
 (其他设备或其他版本的源码请查阅
  https://source.android.com/source/build-numbers.html
  https://android.googlesource.com/platform/manifest
  )
  附图一张
  7.开始编译
  在android-source目录下执行
  make
  然后就可以等待编译完成了。
  博主编译中 5小时50分钟时 遇到了一个问题
解决方案是将/Volumes/android/external/iptables/include/linux/netfilter_ipv4/ipt_ECN.h中的
  #include <linux/netfilter/xt_DSCP.h>
  改成
  #include <linux/netfilter/xt_dscp.h>
  
  总结一下过程中遇到的几个问题
  1.repo版本。非官方的repo工具可能有秘钥问题或者下载失败,请使用官方版本。楼主用旧版的repo下了好久,后来都删了重新下的。。。
  2.VPN不稳定。这个问题不多解释了大家都懂,lz也没有买比较贵的专线VPN。解决办法有一个,mac下可以用apple script编写一个VPN自动重连的脚本,存成App即可。方法请自行Google。但是偶尔也会有已经断网但是VPN没有断的情况,就只能手动重连了。
  3.下载和编译时间过长。下载没有统计,估计不算repo出问题的那次,也超过24小时了。dalvik完全换成ART后加上增加了5000个API,编译时间明显长了很多,编译总耗时7小时30分钟。源码13.4G,repo文件20G,编译完的源码+build出来的文件共43G。
  4.感谢官网文档:http://source.android.com/source/downloading.html
  感谢某人的文章:http://blog.csdn.net/bulreed/article/details/22783467
  
  最后上图两张:

  
页: [1]
查看完整版本: android 5.0 (lollipop)源码编译环境搭建(Mac OS X)