闲来无事,想瞅瞅安卓wifi的框架是什么样子滴,就有了如下的记录
目录
1.准备linux系统
首先得有个linux系统,我的虚拟机里装有ubuntu22.04,所以省了这一步。在ubuntu里分配重新分配一个大约200G的空间,在虚拟机里扩展磁盘,在ubuntu里用disk初始化。
2.创建samba共享目录
这样就可以在windows用IDE查看源码了
sudo smbpasswd -a 用户名
sudo vim /etc/samba/smb.conf
/* 新增配置行
* [用户名]
* path = /meida/用户名
* browseable = yes
* valid users = test
* writable = yes
*/
sudo service smdb restart //重启smba服务
创建samba共享目录后,在windows用 \\IP\用户名 的方式访问,但是发现不能访问,因为虚拟机默认是nat转换的,修改成桥接直连就可以了
4.下载源码
安卓源码都特别大,直接经常下载容易失败,所以,先下载个月度更新包后再同步。比如从这里下载最新的月度更新包
https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/
5.下载repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
6.同步代码
同步代码时的问题比较多
6.1 Python找不到
由于是22.04,所以转了安装Python3之后,软链到python目录
whereis python3
ln -l /usr/bin/python3 /usr/bin/python
6.2 repo有新版本,下载失败
此时更新了下repo,还是下载失败,最后才知道是要更新代码里的
cd .repo/repo
git pull \\拉取最新的
6.3 没安装git
上一步使用git命令时,发现没有安装git,所以再装个git
6.4 同步代码部分失败
同步代码的过程中,老报错pipe error,看着是python的
多线程出错了,但是没找到具体的原因。最后安装了下pipe,貌似很少出现这个报错了,但还是会有。
6.5 还有一些其它问题,但由于当时没有记录,现在也记不起来了。。。
7.完成同步,开始阅读