![Android底层接口与驱动开发技术详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/689/26178689/b_26178689.jpg)
上QQ阅读APP看书,第一时间看更新
2.1.1 在Linux系统获取Android源码
在Linux系统中,通常使用Ubuntu下载和编译Android源码。由于Android的源码内容很多,Google采用git的版本控制工具,并对不同的模块设置不同的git服务器,可以用repo自动化脚本来下载Android源码,下面介绍如何获取Android源码。
(1)下载repo
在用户目录下,创建bin文件夹,用于存放repo,并把该路径设置到环境变量中去,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00046001.jpg?sign=1739413435-xdSaz0Q2LyrYmhqGMCGk9JGv5JxAWupT-0-d6654ec5b544b775ff2f9eed33966723)
下载repo的脚本,用于执行repo,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00046002.jpg?sign=1739413435-LupzDKoSQ4pr2MluA1Gqr0yvr7wBrkzF-0-499afc57be80155e1503959589fda07a)
设置可执行权限,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00046003.jpg?sign=1739413435-sqIyoYp8ZmQ4LSOFrfj7R4Gkn8HgSQwn-0-f5686ef647b7dd57512429d5ffc38107)
(2)初始化一个repo的客户端
在用户目录下,创建一个空目录,用于存放Android源码,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00046004.jpg?sign=1739413435-XVWLZYp5HFmeBwjCgmljIUQkjlwcuQkO-0-c8a4f6d01b65be9a60a0579d18e2f8b1)
进入AndroidCode目录,并运行repo下载源码,下载主线分支的代码,主线分支包括最新修改的bug,以及并未正式发出版本的最新源码,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00047001.jpg?sign=1739413435-8kMzRgyKoMnHWHF3W0o28RlRJNCbCJto-0-b45d7d20f9016443234bef6eb86765ff)
下载其他分支,正式发布的版本可以通过添加-b参数来下载,命令如下。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00047002.jpg?sign=1739413435-NP3vEfvioMmdyIgA97uLp2lK2mNvPr5C-0-98fb366f38422fea76af6003e190b024)
在下载过程中需要填写Name和Email,填写完毕后,按【Y】键进行确认,最后提示repo初始化完成,这时可以开始同步Android源码,同步过程很漫长,需要耐心等待,执行以下命令开始同步代码。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00047003.jpg?sign=1739413435-1pddh2vid332JRSTjR3tpc9pJkIXoCeS-0-c2c76fa43225c2a2a1df9e2bb9ac4b84)
经过上述步骤后,便开始下载并同步Android源码,界面效果如图2-1所示。
![](https://epubservercos.yuewen.com/1E49FF/14615851904528606/epubprivate/OEBPS/Images/img00047004.jpg?sign=1739413435-zBZTrMZNlC6IOHVcZ5p2hY8AALHkdL8z-0-3fabe908ac16a75ad9547b6883ee8a9f)
图2-1 下载同步