引言
AOSP(Android Open Source Project)是Android操作系统的开源项目,通过下载和编译AOSP源码,您可以获得原始的Android系统,并进行定制和开发。本教程将向您介绍如何下载AOSP源码并进行编译的步骤。
如何只是浏览查看AOSP源码,则没必要下载源码,可以使用google提供的Code Search工具进行浏览查阅,这个工具用起来堪比IDE,并且非常流畅,但是访问这个站点需要翻墙操作。
https://cs.android.com/
下载AOSP源码之前,你需要具备一定的Linux基础知识及git、repo等工具的使用经验。
准备工作
1.确保您的计算机符合以下要求:
•操作系统:Linux(推荐使用Ubuntu)、macOS或Windows(需要使用WSL),官方文档使用的Ubuntu LTS 版本中进行开发和测试,所以最好是在Ubuntu TLS版本环境下进行开发
•内存:建议至少16GB RAM
•存储空间:建议至少200GB可用空间,只下载源码可能200G,如果需要编译源码则建议至少500G空间
2.安装所需软件:
•JDK(Java Development Kit):确保安装JDK 8或更高版本。
•Git:用于从AOSP仓库下载源代码。
•Repo:用于管理多个Git仓库的工具。
下载AOSP源码
AOSP的代码托管在Google的Git服务器上,但由于一些普遍已知的原因,国内用户无法直接访问。为了方便快速地下载代码,我们可以使用清华大学提供的镜像源进行访问。
使用清华镜像源的方法很简单,只需要访问
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
网站即可获取相关说明和使用方法。
1.创建一个工作目录,用于存储AOSP源代码。打开终端或命令提示符窗口,并执行以下命令:
mkdirAOSP cdAOSP
1.初始化Repo工具。执行以下命令:
repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
这里会提示无法连接到 http://gerrit.googlesource.com,需要我们修改一下bash的环境变量,然后重新初始化仓库。
$echo`exportREPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'`>>~/.bashrc $source~/.bashrc $repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
出现如下提示,说明仓库初始化成功。
1.同步源码。执行以下命令:
reposync
1.等待源码同步完成。这可能需要一段时间,取决于您的网络连接和计算机性能。
配置编译环境
1.进入AOSP源码目录。执行以下命令:
cd
1.配置编译环境。执行以下命令:
sourcebuild/envsetup.sh
1.选择目标设备。执行以下命令:
lunch
1.在菜单中选择目标设备的编号,并按Enter键确认。
开始编译
1.执行以下命令开始编译整个AOSP源码:
make-j
•
1.等待编译完成。这可能需要几个小时,取决于您的计算机性能。
步骤五:获取编译后的系统镜像
1.编译完成后,在AOSP源码目录中执行以下命令以获取系统镜像:
cdout/target/product/ /
1.在该目录下,您将找到生成的系统镜像文件。
AOSP源码查看
Code Search
前面说了,如果不涉及开发调试,只限阅读源码,那么直接访问下面网址就够了。这是Google为Android开发的Code Search在线工具,体验堪比IDE。
https://cs.android.com/
Android Studio导入
如果需要在本地开发调试,那么使用AS导入源码,执行下面命令会在AOSP源码根目录下生成android.ipr、android.iml及android.iws三个文件,使用Android Studio导入android.ipr文件即可导入AOSP源码。
$cd~/aosp $sourcebuild/envsetup.sh $mmmdevelopment/tools/idegen/ $development/tools/idegen/idegen.sh
另外,导入AOSP源码体积庞大,你需要修改AS的jvm参数
另外Android Studio建议使用JetBrains的ToolBox进行管理,避免因为修改配置导致AS无法升级的问题。
aidegen工具
Google在Android11之后提供了aidegen工具,可以针对AOSP源码的特点,针对某个模块生成ide配置,这样导入后可自动完成依赖配置,符号依赖可以随意跳转。
厂商AOSP
对于拿到了厂商AOSP源码来说,编译调试更容易了,一般厂商都提供了集成好的脚本,直接执行脚本就可以执行编译打包能力,例如Rockchip、高通、MTK等都有集成好的脚本进行编译打包。例如笔者在基于Rockchip平台开发时,有build.sh脚本可调用:
#!/bin/bash usage() { echo"USAGE:[-U][-CK][-A][-p][-o][-u][-vVERSION_NAME]" echo"NoARGSmeansusedefaultbuildoption" echo"WHERE:-U=builduboot" echo"-C=buildkernelwithClang" echo"-K=buildkernel" echo"-A=buildandroid" echo"-p=willbuildpackaginginIMAGE" echo"-o=buildOTApackage" echo"-u=buildupdate.img" echo"-v=buildandroidwith'user'or'userdebug'" echo"-d=huildkerneldtsname" echo"-V=buildversion" echo"-J=buildjobs" echo"-B=buildABImage" exit1 }
例如,可执行下面命令编译android、kernel、boot及打出update.img包
./build.sh-UKAu
通过本教程,您学会了如何下载AOSP源码并进行编译。现在,您可以根据需要进行自定义和开发,定制您自己的Android系统。请注意,AOSP编译过程可能需要一些时间和计算机资源,建议在充足的时间和性能条件下进行操作。
审核编辑:刘清
-
Android
+关注
关注
12文章
3935浏览量
127373 -
RAM
+关注
关注
8文章
1368浏览量
114668 -
Linux
+关注
关注
87文章
11302浏览量
209424 -
AOSP
+关注
关注
0文章
16浏览量
6196
原文标题:Android Framework | AOSP源码下载及编译指南(基于Android13)
文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论