本人从事android开发多年,一直没有正式撸过源码,虽然工作原因接触过或多或少的系统API,但在android这个大的知识体系内,接触和了解到的简直是九牛一毛。所以,既然说是Android开发的一员,撸撸源代码是必要的。趁着元旦假期,终于有时间,将Android源码10下载编译并导入Androidstudio过程,整理并记录,希望对准备撸源码的同学有所帮助。话不多说,开始以下阅读:

# 准备条件

*由于本人经济条件受限,仅有一台低配13寸MacBookPro,所以在下载源码前,网上花近四百块左右买了一个500G左右的移动固态硬盘,用于保存android源码

1:MacPro 一台,系统版本macOS BigSur 11.1
2:固态移动硬盘一个,最好大于300G(自身电脑配置高的就不需考虑了)
3:git账号一枚,没有的自行前往注册https://github.com
4:电脑安装好Xcode和git并配置好git账户,方式不在此介绍,可自行搜索

操作步骤

一、创建磁盘映像

1.将移动固态硬盘链接电脑,打开启动台–>其他–>磁盘工具

打开磁盘工具,文件–>新建印象–>空白印象

此处位置选择的是移动硬盘,大小建议200G以上,这里选择300G,注意格式一定是区分大小写,点击存储即可

完成后你可以在finder中查看到刚刚创建好的映像

二、创建SSH Key并绑定Github账号

由于源码拉取过程情况复杂,可能会遇到各种问题,比如
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54,所以事先配置好git 和相关参数,会减少后面的折返几率。

1.创建SSH Key
打开终端,查看本地已有ssh

$ ls -al ~/.ssh


直接新建

$ ssh-keygen -t ed25519 -C "xxxx163.com"

按下Enter健,再输入密码,确认密码,即创建成功

2.添加SSH Key到Github账号
接着输入

$ eval "$(ssh-agent -s)"

编辑config文件,没有则创建

touch ~/.ssh/configvim ~/.ssh/config

在文件中写入以下内容

Host *  AddKeysToAgent yes  UseKeychain yes  IdentityFile ~/.ssh/id_ed25519

执行添加

ssh-add -K ~/.ssh/id_ed25519

3.将SSH Key绑定到Github账号
将创建的额公钥复制到剪切板,执行命令

pbcopy < ~/.ssh/id_ed25519.pub

然后登录你的githb账号,点击信息–>Settings–>SSH and GPG keys
点击新建sshkey
将复制内容粘贴到文本区域并点击“Add SSH key”

三、准备下载源码

1.下载repo
在终端执行一下命令,保存repo下载

mkdir ~/binPATH=~/bin:$PATH

下载链接并修改权限

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repochmod 777 ~/bin/repo

修改REPO_URL链接,替换成如图地址

vim ~/bin/repo 

配置git缓冲区

git config --global http.postBuffer 1048576000git config --global https.postBuffer 1048576000

2.下载Android源码
打开第一步创建的镜像,以下是我的目录

cd /Volumes/AndroidSystem/

创建用于保存源码的目录并打开

mkdir Android10 cd Android10

设置下载分支

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

执行完毕如下

这里我们已经获取到主分支,如果想具体拉去指定分支代码则执行,我在此选择的是android-10.0.0_r30

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r30

执行同步

repo sync

等待长时间下载即可

下载完毕

可在镜像目录查看下载的目录

下载流程完毕,后期再记录编译源码并导入AndroidStudio过程,如有问题请多多留言指教!大家元旦快乐!

更多相关文章

  1. Android(安卓)深色模式适配
  2. Android进阶-Android(安卓)Handler消息机制的源码详解
  3. Android应用程序资源管理器(Asset Manager)的创建过程分析
  4. 源码解析Android中View的layout布局过程
  5. 源码解析Android中View的layout布局过程
  6. Android内核开发:序
  7. Android(安卓)SDK 2.3与Eclipse最新版开发环境搭建(一)
  8. Android电话来电流程源码分析
  9. Android使用Sensor感应器实现线程中刷新UI创建android测力计的功

随机推荐

  1. Android(安卓)4.4(KitKat)中VSync信号的
  2. Android实现组合键监听功能
  3. Android(安卓)学习笔记8---SAX和DOM解析X
  4. 如何制作Jar包并在android中调用jar包
  5. Android开发:布局分区域设置不同背景色
  6. 搭建Android开发环境写第一个Hello World
  7. Android开发学习笔记(十三) ProgressDialog
  8. [Android] 开发资料收集:动画
  9. Android终端命令执行编译命令()
  10. Android(安卓)ServiceManager注册自定义s