本文将介绍如何查找和下载对应版别的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版别了:

玩转Android Framework:下载对应版别的Android 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…

打开之后咱们能够看到如下界面:

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

然后咱们下载代码:

git clone https://android.googlesource.com/kernel/common

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

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

切换到指定commit

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

经过上面的Kernel versiong最初后面的那一部分,就能够找到咱们的短commit id,也就是7e35917775b8,直接checkout:

git checkout 7e35917775b8

等候完成之后,目前的代码就是咱们设备所真实运用的Android Linux Kernel源码了。

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。