【Android源码】AOSP下载

1. 环境

  1. 下载VMware Workstation Pro17破解版,路径在阿里云盘(/工作/软件/虚拟机)中,安装并破解就行
  2. 下载Ubuntn系统16.0.4
    ○ 阿里镜像下载:https://mirrors.aliyun.com/ubuntu-releases/?spm=a2c6h.25603864.0.0.202e3b5epj7LDn
    ○ 清华大学开源镜像下载:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/
  3. 安装镜像
    ○ 我windows是2cpu,1cpu14核,共28核。但我给虚拟机设置成1cpu,12核,够用了
    ○ 我windows是32G内存,虚拟机我设置成24G内存
    ○ 我window硬盘直接设置500G,防止后面下载的存储不够,别吝啬
    ○ 这里有一个问题就是网络,需要让Ubuntn连接VPN外网,虚拟机设置NAT模式,可以访问是否能谷歌,不行的话,百度下如何连接vpn,我是设置网络代理
  4. 虚拟机的准备结束之后,就是环境的搭建和源码的下载
  5. 我在下载Ubuntn16的时候发了一个错误,我下载的是i386的一个版本,这个系统版本是32位,但后面很多命令是基于64位运行的,导致我命令运行不成功。

2.操作

  1. 安装git
shell 复制代码
sudo apt install git
  1. 安装依赖工具
shell 复制代码
sudo apt install git-core libssl-dev  libffi-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libz-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
  1. 设置git身份,添加自己的邮箱和姓名
shell 复制代码
git config --global user.email "xxx@qq.com"
git config --global user.name "xxx"
  1. 下载Python3:// 至少要安装3.6以上
shell 复制代码
// sudo apt install python3
// 我下载的Ubuntn16系统,默认安装的是Python2.7,但Android10源码下载的repo需要3.6以上的环境才能运行,所以我安装了Python3.7的环境,运行命令如下:

# 安装依赖
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

# 下载 Python 3.7 源代码
wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz

# 解压并进入目录
tar xvf Python-3.7.12.tgz
cd Python-3.7.12

# 配置并安装 Python 3.7
./configure --enable-optimizations
sudo make altinstall

// 安装完之后,并没结束,还需要配置好运行指令
//在 Ubuntu 中,可以使用 update-alternatives 来管理系统中的不同 Python 版本。你可以将 
// 这里一定要注意,如果要下载的是Android10版本的源码,就不需要将python3指向python,因为Android10的源码在后面编译的时候,需要用到python2的环境
// python3 命令关联到新安装的 Python 3.7。运行以下命令:
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 1

// 然后选择默认 Python  版本:
sudo update-alternatives --config python

// 最后查看python的版本
python --version
// 一定要确定是3.7及以上版本
  1. 创建bin文件夹
shell 复制代码
mkdir ~/bin
PATH=~/bin:$PATH
  1. 安装curl库
shell 复制代码
sudo apt-get install curl
  1. 下载repo
shell 复制代码
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
## 如果上述 URL 不可访问,可以用下面的:
## curl -sSL  'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
chmod a+x ~/bin/repo

按上面命令操作一番后,会在home文件夹下,生成一个bin/repo。校验一切是否按照正确,

shell 复制代码
~$ repo --version
<repo not installed>
repo launcher version 2.45
       (from /home/hman/bin/repo)
git 2.7.4
Python 3.7.12 (default, Jun 16 2024, 02:52:41) 
[GCC 5.4.0 20160609]
OS Linux 4.15.0-142-generic (#146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021)
CPU x86_64 (x86_64)
Bug reports: https://issues.gerritcodereview.com/issues/new?component=1370071
  1. 源码下载,我下载的是Android10的源码
shell 复制代码
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r41

3. 总结

中间会遇到一些磕磕绊绊,主要是一些python的配置出问题,或者网络,存储不足,或者repo等,都不麻烦,查查资料解决就好了。

相关推荐
apihz10 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
问道飞鱼27 分钟前
【移动端知识】移动端多 WebView 互访方案:Android、iOS 与鸿蒙实现
android·ios·harmonyos·多webview互访
aningxiaoxixi1 小时前
Android 之 audiotrack
android
枷锁—sha1 小时前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
Cao_Shixin攻城狮5 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
呼啦啦呼啦啦啦啦啦啦8 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf
idjl9 小时前
Mysql测试题
android·adb
游戏开发爱好者812 小时前
iOS App 电池消耗管理与优化 提升用户体验的完整指南
android·ios·小程序·https·uni-app·iphone·webview
人生游戏牛马NPC1号12 小时前
学习 Flutter (四):玩安卓项目实战 - 中
android·学习·flutter
星辰也为你祝福h14 小时前
Android原生Dialog
android