-
步骤
#下载初始化包,同浏览器下载好一些,可以断点下载 wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar tar xf aosp-latest.tar cd AOSP # 解压得到的 AOSP 工程目录 # 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录 repo sync # 正常同步一遍即可得到完整目录 # 或 repo sync -l 仅checkout代码
-
报错一
.repo/repo/main.py, line 79
这是因为repo与python不匹配导致的。
1、可以通过修改python版本试试
#我系统的本地python版本 lang@lang-110:$ /usr/bin/env python Python 2.7.15+ (default, Oct 7 2019, 17:39:04) [GCC 7.4.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> #我系统的本地python3版本 lang@lang-110:$ /usr/bin/env python3 Python 3.6.8 (default, Oct 7 2019, 12:59:55) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> #临时切换版本 alias python=python3 #查看默认python的版本 python --version
本以为通过
alias python=python3
切换到3就可以了,试了下发现没效果,查看main.py,line 79
发现里面使用的就是#!/usr/bin/env python3
。所以先放弃了。2022/04/07更新:切换不成功的原因知道了。
repo文件中#!/usr/bin/env python
使用的是/usr/bin/python
,可以查看下其连接的是2还是3。lang@lang-110:$ whereis python python: /usr/bin/python lang@lang-110:$ which python /usr/bin/python lang@lang-110:$ ls -al /usr/bin/python lrwxrwxrwx 1 root root 9 4月 16 2018 /usr/bin/python -> python3.10
由上可知,repo使用的是
python3
,所以我们可以删除python
的老连接,重新创建新连接:lang@lang-110:$ rm /usr/bin/python lang@lang-110:$ ln -s /usr/local/python2.7.15/bin/python2.7 /usr/bin/python
PS:
/usr/local/python2.7.15/bin/python2.7
是python2.7
的执行文件位置,可能为/usr/bin/python2.7
,是具体安装路径为准。lang@lang-110:$ ls -al /usr/bin/python lrwxrwxrwx 1 root root 9 4月 16 2018 /usr/bin/python -> python2.7
2、若还不行,则可以重下载repo版本试试
我这边有一个现成的可以试试 repo.zip
-
报错二
fatal: unable to access 'https://aosp.tuna.tsinghua.edu.cn/platform/manifest/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
CA证书的问题,解决方式:git config --global http.sslverify false
-
切换分支:
#源码目录下 cd .repo/manifests git branch -a | cut -d / -f 3 #查看分支 repo init -b android-9.0.0_r3 #Android 9 repo sync
通过aosp-latest下载Android源码
于 2021-11-05 14:05:58 首次发布
本文介绍了在编译Android源码时遇到的两个问题及解决方案。首先,由于repo与Python版本不匹配,通过修改系统默认的python链接指向python3解决了问题。其次,针对服务器证书验证失败的问题,通过设置git的全局配置禁用了SSL验证。此外,还提供了切换Android源码分支的方法。
摘要由CSDN通过智能技术生成