AOSP | Android 11 Settings 开发(01) 环境搭建
![](https://images.sunofbeaches.com/content/2022_03_24/956605609195601920.png)
作者其他文章
- AOSP | Android 9 控制导航栏的隐藏与显示
- AOSP | Android 11 Framework 修改记录(持续更新)
- AOSP | Android 9 Framework 修改记录(持续更新)
- AOSP | Android 9 由壁纸切换带来的手机主题变更及问题出现)
- AOSP | Android 9 过滤Recents
- AOSP | APP源码移植到系统源码中进行编译
- 后端 | 沙箱环境下实现支付宝网站支付
- 前端 | vue-echarts渲染时视图模糊的解决办法
文章目的
该文章为Settings系列文章,主要是结合AOSP 11的原生Settings代码,通过作者个人对该模块代码的读解,从而达到个人开发一个Settings App的一系列文章。由于我是Framework层的开发者,所以对App页面等的不做太多考虑,而着墨于各功能的实现。另外要说明的是,该系列旨在功能的实现,而不是源码流程分析,因此会跳过很多的源码,甚至会直接一步到位找到功能的实现源码,如果要理解其功能调用的具体流程,可查阅其他博客、文章。
本文目的
本文主要是搭建AOSP环境,为阅读源码做好准备。
1、VMware安装
链接:https://pan.baidu.com/s/1NiQ7l9TZh3yILh70dMl04g (提取码:dlp0 )
分享内容包括:
- VMware 15 pro
- 密钥
- Ubuntu18.04 镜像
VMware安装此处省去,下面主要讲一下Ubuntu18.04的安装及AOSP源码下载
2、Ubuntu安装
安装镜像跟着截图操作就行了,部分没有截图的直接下一步就行了;此处要说明的是我直接分了300G硬盘。
等待创建完成后开启虚拟机...
开启虚拟机后更新下软件源及休眠时间
3、AOSP源码下载
3-1、Git安装
sudo apt-get install git
git config --global user.email "waycoldly@gmail.com"
git config --global user.name "waycoldly"
3-2、Curl安装
sudo apt-get install curl
3-3、Python安装
sudo apt-get install python
#建议切换系统的python默认版本为3.0+(是系统,不是基于用户)
#切换方法参照如下
#1、设置root密码 https://jingyan.baidu.com/article/8065f87f4d139f2330249845.html
#2、切换python版本 https://www.cnblogs.com/ruiyang-/p/10162581.html
3-4、Repo安装
mkdir ~/repo
PATH=~/repo:$PATH
curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/repo/repo
chmod a+x ~/repo/repo
3-5、源码下载
mkdir ~/aosp
cd ~/aosp
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r1
#如果提示无法连接 gerrit.googlesource.com,可以编辑 ~/repo/repo,把 REPO_URL 一行替换成下面的:
#REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
看到如上界面以后,代表着整个源码下载已经接近完成百分之50了,接下来就是同步代码
repo sync
需要说明的是,在repo sync
之后,我已经失败n次了,一直用的是清华的镜像,导致repo sync
后一直为0%的问题,起初以为是python版本问题,所以切换了Python2.7与Python3.6.9,但是都没能解决;最后换了中科大的镜像后,终于才能正常同步代码(此处Python版本为3.6.9)。
repo sync
这个过程完全看运气,可能半天,也可能一天,也可能好几天;我一般虚拟机挂着,然后人该干嘛干嘛去;偶尔看一眼,一旦长时间没有变化的话,比如好几个小时了,都还是64%(504/781) kernel/test
,一直没有变化的话,那直接 Ctrl+C
然后 repo sync
再来一次就行了。
本文写到现在,当前时间是2022/03/04 16点07分,让我们看看下一次下笔会是什么时候....
当前时间2022/0304 17点37分,已经同步完成。
总结
下载源码还是比较简单的,碰到报错啥的,搞不定,实在没办法了,就直接
rm -rf ~/repo
rm -rf ~/aosp
然后重新跟着 3、AOSP源码下载 重新来就好了,如果你用中科大的镜像同步不了,那可以用清华的。官网教程都写得很详细,跟着操作就行了。
下一篇,我们就来编译代码。
2022/03/08 09点48分,该系列目前暂时停止更新,因为电脑配置带不动Android 11。
参考文章: