MAC OS X 10.8.3 环境下成功下载和编译android 4.2.2 源码 (master版本)
来源:互联网 发布:淘宝上怎么注册开店 编辑:程序博客网 时间:2024/06/08 06:35
在新air上折腾了两个礼拜,终于成功下载并且编译了android4.2的源码,个中辛苦不值一提,重要的是把经验分享给大家 :)
一. 下载源码
此处大家不必再绕弯路了,国内网络环境下现在可以畅通无阻的方法就在官网 http://source.android.com/source/downloading.html 。
我简要说明一下操作步骤:
1.安装repo
radio@mac:~ > mkdir ~/binradio@mac:~ > PATH=~/bin:$PATHradio@mac:~ > curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/reporadio@mac:~ > chmod a+x ~/bin/repo
2.初始化repo
因为大部分人都是在路由器网络环境下工作,也就是与别人分享公网IP的情况,所以我推荐大家用官方推荐的第二种方法来初始化repo。
1)验证信息
访问the password generator ,需要登录google账号,然后按照提示操作,将最后出现的以下两行账户信息保存到~/.netrc中
machine android.googlesource.com login git-youremail.gmail.com password 1/ f1z7HE9tjl4Sql5Soh0hQdCqYVGKNKJOAKfA8ShLRS8
machine android-review.googlesource.com login git-youremail.gmail.com pass word 1/f1z7HE9tjl4Sql5Soh0hQdCqYVGKNKJOAKfA8ShLRS8
2)创建大小写敏感的磁盘
MAC的磁盘默认是不区分大小写的,而android编译需要在大小写敏感的磁盘中进行,不然会报各种错。。
可以通过磁盘工具创建一个大小写敏感的磁盘映像,创建过程此处略去。
挂载好刚创建完的映像后,cd 到此目录( radio@mac:~ > cd /Volumes/yourDiskName)
2)执行初始化
radio@mac:yourDiskName > repo init -u https://android.googlesource.com/a/platform/manifest
这样拉取的是master版本,也就是最新版,如果要指定版本请指定分支,如下
radio@mac:yourDiskName > repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.2.1_r1
3.执行repo,下载代码
radio@mac:yourDiskName > repo sync
过程比较漫长,执行中也许会多次意外中断,懂点shell脚本的朋友们可以保存下面的脚本到repo.sh文件中,通过./repo.sh来执行
#!/bin/bashecho "======start repo sync======"repo syncwhile [ $? = 1 ]; doecho “======sync failed, re-sync again======”sleep 3repo syncdone
等待下载完毕。
注:在 http://d.zhu.im/Android/ 下载的4.2.2版本我没能成功编译emulator,master版本下emulator、sdk均能成功编译。
二.编译源码
1.从MacPorts安装make,git, and GPG packages:
radio@mac:~ > sudo port install gmake libsdl git-core gnupg
2.将gmake3.82还原到3.81
gmake3.82版本存在一个Bug,所以我们要将其还原为3.81版本。
radio@mac:~ > vi /opt/local/etc/macports/sources.conf
然后在rsync那行的上面一行加上:
file:///Users/Shared/dports
然后按照下面的步骤依次执行:
radio@mac:~ > mkdir /Users/Shared/dportsradio@mac:~ > cd /Users/Shared/dports/radio@mac:~ > svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/devel/gmake/radio@mac:~ > portindex /Users/Shared/dportsradio@mac:~ > sudo port install gmake @3.81
执行完成后,检查一下gmake的版本:
radio@mac:~ > gmake –versionradio@mac:~ > GNUMake 3.81
3.安装gcc
因为Xcode的Command Line Tools没有gcc只有llvm-gcc,使用后者不能成功编译emulator,这可是比较可悲的,通过brew可以安装上gcc
radio@mac:~ > brew tap homebrew/dupesradio@mac:~ > brew install apple-gcc42
编辑 ~/.profile 加入下面这句话
export CC=/usr/local/bin/gcc-4.2
重启终端以生效。
4.执行编译
10.8.3的使用的xcode4.6,仅仅包含了maxos10.7sdk和maxos10.8sdk,编译前需要执行
radio@mac:~ >export BUILD_MAC_SDK_EXPERIMENTAL=1
注:不运行上面的命令则会使用10.6的sdk来编译,必然不能通过。
下面就是正常的编译命令了
radio@mac:~ > build/envsetup.shradio@mac:yourDiskName > lunch full-engradio@mac:yourDiskName > make -j4
一个进程要预留1G的内存,我的是4G内存低配的,如果是8G的机器可以make -j8 来加快编译速度。
等待编译结束。
注:如果要编译sdk,要重新运行lunch sdk-eng 然后再 make 。
展示一下我的emulator界面, :)
- MAC OS X 10.8.3 环境下成功下载和编译android 4.2.2 源码 (master版本)
- Android学习——Mac Os X下载和编译android 4.2.2 源码
- Mac OS X下编译Android源码
- Mac OS X 下编译android源码
- Mac OS X下编译Android源码
- Mac OS X 10.10.3下android-5.1.1_r9 源码下载与编译
- [整] Mac OS X 10.6 下 android 源码编译
- Mac OS X 10.6下android源码编译
- Mac OS X Lion 下编译Android 源码
- Mac OS X 10.8.4下Android4.2.2源码下载与编译
- Mac OS X 10.8.4下Android4.2.2源码下载与编译
- Mac OS X下安装配置Android源码开发环境
- MAC下的android环境编译coco2d-x,运行成功!
- Mac OS X 10.9编译Android源码
- Mac os android源码下载,环境配置 mountain lion10.8.2 配置源码下载环境,并编译源码
- Mac OS X 下 Android6.0源码的下载与编译
- Android 4.2源码的下载和编译环境的安装及源码的编译(跟着做能成功)
- 在Mac OS X下架设和使用Xcode的SVN版本管理环境
- ubuntu 菜单栏不见
- Cookie Session Cache
- Maven4Myeclipse10.7.1搭建SSH2-part1:创建MavenWeb
- Java堆分布以及GC分类
- Ubuntu 12.04 安装之后的各种问题
- MAC OS X 10.8.3 环境下成功下载和编译android 4.2.2 源码 (master版本)
- The JRE_HOME OR JAVA_HOME environment variable is not defined correct
- 共用体
- const用法总结
- android优化
- 大学坑爹了
- scrot 一个好用的Linux截图工具
- 百度面试题的一个完整思路
- ZOJ 3596 Digit Number