本文将介绍如何查找和下载对应版别的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的一些知识:
为什么咱们需要下载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库房:
假如想了解关于Kernel Common中这些分支都代表着什么,能够在这里看到:
打开之后咱们能够看到如下界面:
然后咱们下载代码:
git clone https://android.googlesource.com/kernel/common
下载完成之后,咱们就能看到如下的文件结构:
切换到指定commit
现在咱们已经有了内核源码,下面咱们就要切换指定的提交了。
经过上面的Kernel versiong最初后面的那一部分,就能够找到咱们的短commit id,也就是7e35917775b8,直接checkout:
git checkout 7e35917775b8
等候完成之后,目前的代码就是咱们设备所真实运用的Android Linux Kernel源码了。
关于Android Linux Kernel的编译以及如安在emulator和cuttlefish上运用指定编译好的Linux Kernel,后面我会找机会再写一篇。



