本文首发于微信公众号「刘望舒」

前言

这篇文章我们来学习如何下载AOSP 源码,如果你还没有Linux 环境,请查看Android AOSP基础(一)VirtualBox 安装 Ubuntu这篇文章,另外如果你不需要编译源码,或者不需要最新的源码,可以直接从百度网盘:https://pan.baidu.com/s/1ngsZs 将源码下载下来。

1.关于AOSP

AOSP(Android Open Source Project)是Google开放的Android 开源项目,中文官网为:https://source.android.google.cn/。
AOSP通俗来讲就是一个Android系统源码项目,通过它可以定制 Android 操作系统,国内手机厂商都是在此基础上开发的定制系统。因为墙的缘故,如果无法连接谷歌服务器获取AOSP源码,可以从 清华大学镜像站或者 中科大镜像。本篇文章以清华大学镜像站为例。

2. 下载 repo工具

Android源码包含数百个git库,光是下载这么多的git库就是一项繁重的任务,所以Google开发了repo,它是用于管理Android版本库的一个工具,使用了Python对git进行了一定的封装,简化了对多个Git版本库的管理。
安装 Git,在Ubuntu输入如下命令:

sudo apt-get install git

可能会报如下的错误:

这个问题是有另外一个程序正在运行,导致资源被锁不可用,输入如下命令进行解决:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

接下来创建bin,并加入到PATH中。

mkdir ~/bin
PATH=~/bin:$PATH

安装curl库:

sudo apt-get install curl

下载repo并设置权限:

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

最后安装python,repo初始化时会用到:

sudo apt-get install python

重启虚拟机后,开始下载源码。

3. 下载源码

建立工作目录 :

mkdir aosp
cd aosp

repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc里:

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

设置身份,添加自己的邮箱和姓名:

git config --global user.email "piratemorgen@gmail.com"
git config --global user.name "piratemorgen"

初始化仓库:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

初始化并指定版本:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r8

同步源码:

repo sync

源码下载完成后,看到下面的信息可以说明下载成功。整个源码的大小为36.5 g

感谢:
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
https://blog.csdn.net/counsellor/article/details/86591081
http://wuxiaolong.me/2018/07/07/AOSP1/
https://github.com/tuna/issues/issues/362


这里不仅分享大前端、Android、Java等技术,还有程序员成长类文章。

Android AOSP基础(二)AOSP源码下载相关推荐

  1. Android 4.4 Kit Kat 源码下载

    Android 4.4 Kit Kat源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中.       官网中也有详细的介 ...

  2. Linux自带的五子棋游戏,Android 五子棋游戏示例图与源码下载

    Android 五子棋游戏源码很多,下面是一款不错的Android五子棋游戏示例图及源码,导入Eclipse工程就可以使用了. Android 五子棋游戏部分源码: package five.itca ...

  3. WebRTC 开发(二)源码下载与编译

    转载:http://depthlove.github.io/2019/05/02/webrtc-development-2-source-code-download-and-build/ 在使用任何工 ...

  4. 基于Android开发的天气预报app(源码下载)

    基于AndroidStudio环境开发的天气app 由于需要源码的人特别多,我特地花时间新增了对最新IDE版本Android Studio Chipmunk | 2021.2.1 Patch 1的支持 ...

  5. android 杀毒 源代码,ExeBinder - 源码下载|其它|杀毒|源代码 - 源码中国

    软件简介: EXE捆绑机可以将两个可执行文件(EXE文件)捆绑成一个文件,运行捆绑后的文件等于同时运行了两个文件.它会自动更改图标,使捆绑后的文件与捆绑前的文件图标一样. 产品说明: 一直以来,我们都 ...

  6. 拆红包robmoney.java,android 模拟微信抢红包 实例源码下载

    [实例简介]需要 开启该应用的 辅助功能 [实例截图] [核心代码] package krelve.demo.rob; import java.util.List; import android.ac ...

  7. android手势密码源码,Android自定义UI手势密码改进版源码下载

    在之前文章的铺垫下,再为大家分享一篇:Android手势密码,附源码下载,不要错过. 先看第一张图片的布局文件 activity_main.xml xmlns:tools="http://s ...

  8. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  9. android+高仿+日历,项目源码--Android天气日历精致UI源码

    技术要点: 1. 天气日历精致UI 2. Android的Http通信技术 3. Android的天气信息解析 4. Android的日历信息的统计 5. Andorid的地理位置的管理 6.源码带有 ...

  10. 通用社区登陆组件技术分享(开源)下篇:OAuth 源码下载及原理解说

    原文http://www.cnblogs.com/cyq1162/archive/2012/11/07/2756848.html 上节内容: 1:通用社区登陆组件技术分享(开源)上篇:OAuth 授权 ...

最新文章

  1. 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' 的异常
  2. 解密谷歌机器学习忍者项目,如此培养人工智能人才
  3. 修改Jtable字体颜色
  4. 受损虚拟机的修复方法
  5. 他35k月薪,如何扛住redis面试!
  6. 推荐10款 好用的 Jquery 评分插件
  7. 利用 GitHub Actions 在 GitHub 上进行加密挖矿?
  8. 安装Docker,配置阿里云加速和 docker-compose 国内镜像
  9. linux 卡在grub_关于linux开机进入grub问题的解决方法
  10. sqlite配置下载安装教程
  11. 山东大学电路分析实验1 万用表的使用
  12. 微信小程序中使用阿里ICON图标
  13. excel使用教程_火遍全球的14个Excel学习网:大神套路、视频课、软件下载应有尽有...
  14. 数字证书及其认证过程
  15. java 加载3d模型_实现在Java 3D中载入外部3D模型文件方法详解
  16. QQ Account
  17. 厦门超微服务器维护,超微GPU服务器品牌
  18. Linux DTS中和中断相关属性的解释和用法
  19. ios 微信越狱使用指纹支付插件
  20. 赂峭狭衷麓炯寥雷绕渍

热门文章

  1. 如何看待气相色谱仪不出峰的问题
  2. 2022年十大CRM软件排名参考
  3. 电信天翼云对象存储java实现
  4. elementui中date-picker当前年之后不可选择
  5. Thinphp集成抖音SDK
  6. 国鼎代理极海APM32系列MCU智能扫地机方案
  7. 数据弹性的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 大数据早报:河南引入智能办税机器人 平安科技人脸识别落地南非(11.21)
  9. lua 学习笔记---游戏开发第一步
  10. Java编程思想学习(十二) 数组和容器