MacPro Android7.0源码下载

来源:互联网 发布:网络用语pf是什么意思 编辑:程序博客网 时间:2024/06/07 04:46

作为安卓开发,电脑上存储一份安卓的系统源码我觉得是很有必要的,今天就来说下源码下载过程中遇到的坑,以此来记录下。

因为安卓也是基于linux的,因此Linux环境下下载源码等是最好的,也是很方便的,当然,Mac OS也是可以下载源码的,反正都比Windows方便快捷吧。

看下谷歌官方的介绍:http://source.android.com/source/initializing.html 

这个是安装前的基本环境配置:

This section describes how to set up your local work environment to build the Android source files. You will need to use Linux or Mac OS. Building under Windows is not currently supported.

For an overview of the entire code-review and code-update process, see Life of a Patch.

上面说的也很清楚了,你需要Linux 或Mac环境,ok,下面就以Mac OS下载安卓源码。

在默认安装的Mac OS上运行的情况下,保留但不区分大小写的文件系统。这种类型的文件系统不支持的git,并会导致一些Git命令(如git status)运行异常。正因为如此,我们建议您始终与区分大小写的文件系统的AOSP源文件。这可以很容易使用的磁盘映像来完成,下面讨论。

一旦正确的文件系统是可用的,建立master 在现代的Mac OS环境分支是非常简单的。此前分支机构需要一些额外的工具和SDK。

1.创建区分大小写的磁盘映像

您可以使用一个磁盘映像您现有的Mac OS环境中区分大小写的文件系统。要创建图像,启动磁盘工具,选择“新形象”。25GB的尺寸是最小完成建设; 较大的数字更面向未来。使用稀疏图像节省空间,同时允许在需要时对以后成长。一定要选择“区分大小写,日记”为卷格式。

您还可以使用下面的命令外壳创建它:

# hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg 这个是创建了名字为android.dmg大小40G的磁盘

如果以后需要更大的容量,还可以调整使用以下命令调整磁盘大小:

# hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

2. 将镜像文件转为可读写磁盘

hdiutil convert ~/android.dmg.sparseimage -format UDRW -o ~/android.dmg
以上步骤会在用户根目录生成android.dmg 和 android.dmg.sparseimage 文件,android.dmg.sparseimage文件可以删除,android.dmg可以转移到任何存储介质上和储存位置(Desktop,移动硬盘,u盘等),一旦你安装了android卷,你会做所有的工作在那里。你可以将其弹出(卸载它)就像你会与一个外部驱动器。

3. Repo下载与配置

Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see the Developing section.

To install Repo

3.1 Make sure you have a bin/ directory in your home directory and that it is included in your path:

  1. $ mkdir ~/bin$ PATH=~/bin:$PATH
  2. $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  3. $ chmod a+x ~/bin/repo

For version 1.21, the SHA-1 checksum for repo is b8bd1804f432ecf1bab730949c82b93b0fc5fede

For version 1.22, the SHA-1 checksum for repo is da0514e484f74648a890c0467d61ca415379f791

For version 1.23, the SHA-1 checksum for repo is ac9d646f6d699f6822a6bc787d3e7338ae7ab6ed

4.下载源码

楼主没有VPN,我Mac上用的蓝灯,推荐使用清华大学 TUNA 镜像源,使用每月更新的初始化包进行下载更新。

由于首次同步需要下载 24GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包(建议使用Http的网页方式下载,24个G,使用迅雷等)

tar xf aosp-latest.tar (解压文件,鼠标右键也可以)

cd aosp   # 解压得到的 aosp 工程目录(Mac 不区分大小写)

# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录

repo sync # 正常同步一遍即可得到完整目录

# 或 repo sync -l 仅checkout代码


遇到的问题:
1.将Repo中的源地址改为清华大学的,如果你有VPN的话,也就不会使用清华大学的源了,谷歌就可以下载

repo在主目录bin文件夹下,将repo用文本编辑器打开,将源地址改为图中的地址即清华大学的源,Ctrl+S保存关闭即可。
2.Repo Sync 如果出现repo:command not fount,方法如下:
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
export PATH=$PATH:$HOME/bin

上述两个命令在命令行中临时配置一下,然后继续Repo Sync,此时可能已经在同步了,如果最后结果出现这个错误 

repo sync error: Exited sync due to fetch errors

使用repo sync -f 强制下载 (如果公司网络好的话,还是下载很快的,网络是一方面,否则你会觉得怎么还不行,怀疑自己,建议在家里边下载吧),下载完后,其实就可以看到源码了


我的因为内存不足的问题,没有下载完全,我准备将我的windows本上也下载下,保存一份,毕竟这个本是公司的,编译的话我就先不研究了,先看看这里的源码实现吧,好了,与君共勉,授人以鱼不如授人以渔,多看源码才会有进步,加油!
参考文章:
https://source.android.com/source/downloading.html
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
http://blog.csdn.net/u012915455/article/details/52252910
http://lib.csdn.net/article/android/13954

0 0
原创粉丝点击