当前位置: 首页 > article >正文

Android 源码阅读随笔(一)—— 下载源码

Android 源码阅读(一)


有了 Mac 后终于有了想要整一整 Android 源码的念头,这可能是程序员逐渐走向成熟的开端吧(可能以前太肤浅了🤪)

在这里插入图片描述

1、下载Repo工具

下载源码的时候需要选择一个空间比较大的磁盘,这里我是外接了一个1T移动硬盘

下载源码需要用到repo工具,并且你得提前准备好git

清华镜像源AOSP(https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/)

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo

通过以上命令,下载repo并加入系统环境变量,以方便随处进行调用

2、更新Repo源

repo的运行过程中会尝试访问官方的 git 源更新自己,如果想使用镜像源进行更新,就需要替换一下本地的配置,由于我使用的是Mac,因此使用命令修改~/.bash_profile

加入清华镜像源对应的配置

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

这里我使用nano命令启用编辑器修改

nano ~/.bash_profile

在这里插入图片描述

修改完成后保存并退出,使用其他编辑器也可以

然后执行source命令快速生效,刚刚的修改就被应用了

清华镜像源git-repo(https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/)

source ~/.bash_profile

repo的配置基本就这样了,接下来准备拉源码

3、拉取源码

官方源码下载教程(https://source.android.google.cn/docs/setup/download?hl=zh-cn)

Android 官方的文档当然是要参考的,其中给出了命令,但是考虑到某些原因,可能不能维持网络的稳定,因此也是使用清华的镜像进行替换

repo init --partial-clone -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r29

这里我想要稍微新一些的版本,因此选择了Android 14的源码分支,大家可以根据需要进行选择

源码版本清单(https://source.android.google.cn/docs/setup/reference/build-numbers?hl=zh-cn#source-code-tags-and-builds)

在这里插入图片描述

OK,选好版本,就在你需要拉取源码的目录里执行上面那条命令,这就代表已经点好菜了,接下来就是等待上菜了

在这里插入图片描述

关键的来了,开始拉取代码,执行同步命令,-j8是指 8 线程一起跑,可以根据硬件水平调整

repo sync -c -j8

时间还是有些长的,放后台忙别的去吧

在这里插入图片描述

大概我这边是 2 个小时左右,代码同步完毕

在这里插入图片描述

之后看framework的内容估计主要是这个目录,体积是真滴大,至此源码就到手了

在这里插入图片描述


http://www.kler.cn/a/459066.html

相关文章:

  • 鸿蒙开发:实现键值数据库存储
  • CentOS Stream 9 安装 JDK
  • 9.若依-自定义表单构建
  • 基于Flask后端框架的均值填充
  • 不使用 el-popover 组件手动创建一个 div 作为 Popover
  • 基于ArcGIS Pro的SWAT模型在流域水循环、水生态模拟中的应用及案例分析;SWAT模型安装、运行到结果读取全流程指导
  • git自动压缩提交的脚本
  • python制作打字小游戏
  • 图文检索(37):局部对齐Stacked Cross Attention for Image-Text Matching
  • GPU 进阶笔记(二):华为昇腾 910B GPU
  • 【从0到0.5】基于STM32F427+DP83848+FreeRTOS+LWIP+CubeMx+Keil搭建TCP服务端与客户端
  • 基于JDK 17 编写的Java常用工具类
  • Docker+Portainer 离线安装
  • 数学建模助力干细胞研究,配体纳米簇如何影响干细胞命运
  • 排序算法简单问题(Java)
  • Axture 实现一个简单的父子菜单
  • win32汇编环境下,提取对话框程序中,listview列表控件里的内容示例
  • ES IK分词字典热更新
  • 从0开始的Opencv之旅(到尝试构建一个图像编辑器):0,opencv demo
  • Kotlin 协程基础知识总结五 —— 通道、多路复用、并发安全
  • 存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
  • 抽奖2(信奥)
  • springboot515基于SpringBoot的宠物爱心组织管理系统(论文+源码)_kaic
  • Python爬虫(selenium)从网站获取信息并存入数据库(mysql)
  • SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
  • 【2024年-9月-14日-开源社区openEuler实践记录】PM4OSSP-PROXY