玩转Android Framework:下载对应版本的Android Linux Kernel源码

本文将介绍如何查找和下载对应版本的Android Linux Kernel代码。

系统版本: Ubuntu 22.04 lts

AOSP分支: android-14.0.0_r28

什么是Android Linux Kernel

众所周知,Android是基于Linux的,那么Android Linux Kernel,实际就是指优化过的针对Android的一种特殊版本的Linux,这是官方的文档,里面详细介绍了关于Android Linux Kernel的一些知识:

source.android.com/docs/core/a...

为什么我们需要下载Android Linux Kernel源码

当我们打开AOSP源码的/kernel目录下的时候,我们可以看到AOSP并不包含对应使用的Linux源码,只有预先编译好的各个版本的Linux,这意味着如果我们替换AOSP编译时使用的Linux Kernel版本,或者希望修改Linux Kernel代码在设备在启动Android之前做一些工作的话,我们就必须下载对应版本的Linux源码进行修改和编译。

确认使用的Android Linux Kernel版本

下面我们就要想办找到我们设备所使用的Android Linux Kernel版本,首先打开模拟器,进入Setting->About->Android Version,我们就可以看到我们的Linux Kernel版本了:

我们现在可以看到,我们的Kernel version

6.1.23-android14-4-00257-g7e35917775b8-ab9964412 #1 Mon Apr 17 20:50:58 UTC 2023

下载源码

这里是Android Linux Kernel的git仓库:

android.googlesource.com/kernel/comm...

如果想了解关于Kernel Common中这些分支都代表着什么,可以在这里看到:

source.android.com/docs/core/a...

打开之后我们可以看到如下界面:

然后我们下载代码:

bash 复制代码
git clone https://android.googlesource.com/kernel/common

下载完成之后,我们就能看到如下的文件结构:

切换到指定commit

现在我们已经有了内核源码,下面我们就要切换指定的提交了。

通过上面的Kernel versiong开头后面的那一部分,就可以找到我们的短commit id,也就是7e35917775b8,直接checkout:

bash 复制代码
git checkout 7e35917775b8

等待完成之后,目前的代码就是我们设备所真正使用的Android Linux Kernel源码了。

关于Android Linux Kernel的编译以及如何在emulator和cuttlefish上使用指定编译好的Linux Kernel,后面我会找机会再写一篇。

相关推荐
梨落秋霜10 小时前
Python入门篇【文件处理】
android·java·python
晚风吹人醒.12 小时前
SSH远程管理及访问控制
linux·运维·ssh·scp·xshell·访问控制·远程管理
遥不可及zzz13 小时前
Android 接入UMP
android
Uncertainty!!13 小时前
Linux多用户情况下个别用户输入密码后黑屏
linux·远程连接
necessary65313 小时前
使用Clion查看linux环境中的PG源码
linux·运维·服务器
小猪佩奇TONY15 小时前
Linux 内核学习(14) --- linux x86-32 虚拟地址空间
linux·学习
Lam㊣15 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
Coder_Boy_15 小时前
基于SpringAI的在线考试系统设计总案-知识点管理模块详细设计
android·java·javascript
FL162386312915 小时前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
石头53015 小时前
Kubernetes监控全栈解决方案:从零搭建Prometheus+Grafana监控体系
linux