Mac下的android源码下载

文档说明:

1,主要参考android的官网:http://source.android.com/source/initializing.html.

2,本人使用的硬件配置:MacBook Pro,Mountain Lion(10.8)系统。

3,文中所描述的步骤是作者一步一步执行下来的,但绝对并不是唯一的步骤,步骤中的一些小细节读者可以尝试各种自己习惯的方法。

4,带$ 标志的,为terminal中输入的命令语句

 

第一步,创建磁盘映像(初次使用,执行该步骤)

  说明:尽管mac系统保存了文件名的大小写,但却不区分文件名的大小写(file.sh File.sh为同一个文件)。为了避免git大小写的问题产生的bug,建议用户将下载源代码的路径放到区分大小写的磁盘上。

打开Disk Utility(磁盘工具)--> New Image(新建映像),如下图创建磁盘映像文件:


其中的名称android_source,软件会自动加上_dmg,既磁盘挂在后的磁盘名为,android_source_dmg。在切换到该磁盘时,需要用到该名字。

第二步,下载环境配置(初次使用,执行该步骤)

1,xCode,苹果的开发工具,可以在App Store轻松下载。不同的源码所需要的最低版本也是不一样的,作者的mac为10.8,目前所有版本都可下载,具体可参考官网。

2,Command Line Tools,安装完xCode后,打开Preferrences-->Downloads,可以下载改工具,如下图:

3,安装MacPorts

验证是否安装,可以在terminal中输入

$ sudo port

命令行,确定是否存在。否则可以根据官网http://www.macports.org/install.php所要求的步骤安装(该软件的安装前需要安装xcode和command line tools)。

4,安装所需软件
terminal中执行如下命令:

$ echo $PATH

   确定是否包含/opt/local/bin路径,并保证该路径在/usr/bin路径前。否则,在home路径下输入如下命令

$ open -e .bash_profile

打开.bash_profile文件后,将如下命令加入到该文件中,并保存。

$ export PATH=/opt/local/bin:$PATH

输入如下命令,安装make, git 和GPG包:

$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

细心的用户可能会发现上面所列的命令中安装的git包,而文档中使用的是git-core包,作者在实际安装中使用git-core会报错,改成git会通过。

5,将make版本从3.82降为3.81
说明:首先需要编辑/opt/local/etc/macports/sources.conf文件,该文件为可读的,需要root权限才能修改。修改的内容如下:

在该文件的最后,rsycn所在行的上面加入如下数据:

file:///Users/Shared/dports

接着就可以按照官网上的步骤一个一个命令来执行了:

$ mkdir /Users/Shared/dports

$ svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/

$ portindex /Users/Shared/dports

$ sudo port install gmake @3.81

6,设置文件描述限制

这里我的理解是修改同时打开文件的数量。打开.bash_profile,添加如下代码到该文件中。

# set the number of open files to be 1024

ulimit -S -n 1024

第三步,下载原文件

  该步骤中,除第1小点,是初次调用外(保证~/bin文件夹存在),其它步骤在每次下载源码时,都需要调用,并依次调用即可。

  1,安装Repo软件(初次使用,执行该步骤)

$ mkdir ~/bin

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

2,装载磁盘

找到之前新建的.dmg (本文新建的为android.dmg),右键如下图所示,

点击DiskImageMounter,成功后会在Finder的左边栏底部看到设备:



3,初始化Repo客户端

在进行该步骤之前,请确认:

  • 当前目录已经切换到之前新建的磁盘映像下,装载后,使用 cd/Volumes/android_source_dmg方法可以切换该目录下。
  • 确认你的google account可用,可以登陆以下网址确认:https://accounts.google.com/ServiceLogin
  • 可以FQ!!至少可以顺畅浏览google及android源码的官网。

  以上几个确认后,就可以初始化该客户端了。

  首先,要创建一个文件夹并切换到该文件夹下,如

$ mkdir android4.0.1

$ cd android4.0.1

  其次,执行如下命令,该命令时为了能够顺利的调用repo命令:

$ PATH=~/bin:$PATH

  然后执行以下命令:

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

  可以根据需要,修改自己需要下载的版本。

  4,下载源代码

  执行如下命令:  

$ repo sync

  到目前为止,源码应该可以开始下载了,但由于文件太大,网络出错或者Google ip限制等原因,在下载过程中会出现各种错误或者中断。

  5,下载优化1

  下载过程中,官网会限制同时连接的数目,为了解决这个问题,官网上提供了如下方法:

  •  https://android.googlesource.com/new-password,访问该页面,生成帐户密码,按照页面的步骤,将生成页面中machine开头的两行复制下来。
  •  在home路径下新建.netrc文件(使用vi,很方便)。
  • 将上面复制的内容,拷贝到该.netrc文件中,并保存,保证可读。
  • 使用如下命令初始化Repo客户端:
$ repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1

  完成以上步骤后,可以继续下载。

  6,下载优化2

  由于网络等原因,会造成下载中断,尽管用户可以通过repo sync命令继续下载,但由于文件太大,出现这种情况的频率很高。因此可以使用如下命令:(源自柯元旦的android技术内核剖析一书)。

#!/bin/bash   
#FileName  get-android.sh  
PATH=~/bin:$PATH   
repo init -u https://android.googlesource.com/platform/a/manifest -b android-4.0.1_r1   
        repo sync   
while [ $? = 1 ]; do   
echo "================sync failed, re-sync again ====="   
sleep 3   
repo sync   
done 

以上文件为可执行文件(.sh,通过chmod +x get-android.sh改变该属性),保存到下载文件夹路径下(如 android4.0.1)。

执行该文件./get-android.sh,然后就可以睡觉去了。

第二天打开电脑,如果看到100%的标识,并有done的文字出现(由于急着上班,没有切图),更重要的是,下载源码的文件夹下看到了各种文件夹,那恭喜你,下载成功了!

有什么疑问都可以留言~

posted on 2014-07-09 15:22  threedroid  阅读(192)  评论(0编辑  收藏  举报

导航