Answers:
Android Version |API Level |Linux Version in AOSP |Header Version
----------------------------------------------------------------------------------------
1.5 Cupcake |3 |(2.6.27) |
1.6 Donut |4 |(2.6.29) |2.6.18
2.0/1 Eclair |5-7 |(2.6.29) |2.6.18
2.2.x Froyo |8 |(2.6.32) |2.6.18
2.3.x Gingerbread |9, 10 |(2.6.35) |2.6.18
3.x.x Honeycomb |11-13 |(2.6.36) |2.6.18
4.0.x Ice Cream San|14, 15 |(3.0.1) |2.6.18
4.1.x Jelly Bean |16 |(3.0.31) |2.6.18
4.2.x Jelly Bean |17 |(3.4.0) |2.6.18
4.3 Jelly Bean |18 |(3.4.39) |2.6.18
4.4 Kit Kat |19, 20 |(3.10) |2.6.18
5.x Lollipop |21, 22 |(3.16.1) |3.14.0
6.0 Marshmallow |23 |(3.18.10) |3.18.10
7.0 Nougat |24 | 3.18.48 4.4.0 |4.4.1
7.1 Nougat |25 | ? |4.4.1
8.0 Oreo |26 | 3.18.72 4.4.83 4.9.44 |4.10.0
8.1 Oreo |27 | 3.18.70 4.4.88 4.9.56 |4.10.0
9.0 Pie |28 | 4.4.146 4.9.118 4.14.61 |4.15.0
10.0 Q |29 | 4.9.191 4.14.142 4.19.71|5.0.3
表编译自:
注意:Android的其他“发行版”可能运行不同的内核版本。
欢迎任何人纠正和扩展此表。请继续格式化。
OEM倾向于使用与最初发布该设备时相似的内核来发布其主要的Android更新。这很可能避免较新的内核出现硬件和驱动程序不兼容的问题。例如,已更新为运行Android 8.0 Oreo但最初随附6.0 Marshmallow的设备可能仍在运行Linux 3.18.x,而不是Linux4.10.x。
根据2017年关于XDA-Developers的文章(简称):
取决于OEM的一个方面是Linux内核版本,但随着Android Oreo的出现,这一情况正在改变。
只要OEM能够通过Google进行的认证测试,他们就不会在意新设备中使用的内核版本。通常这不是问题,因为大多数OEM会在其他OEM使用的那一代中使用相同版本的内核,因为它与硬件驱动程序所支持的功能紧密相关。但是,有些人掉进了裂缝,这开始引起安全问题。这是Google最近一直在认真对待的事情,因此他们希望开始强制执行此命令是有道理的。
从今年开始,Android Oreo附带的智能手机开始,Google要求2017年生产的所有SoC必须以4.4或更高版本的内核启动。
当前,升级到Android Oreo的现有设备仅需要运行3.18或更高版本的内核,而无需升级即可支持Project Treble。
根据https://android.googlesource.com/platform/test/vts-testcase/kernel/的要求,Linux版本VtsKernelConfigTest或VtsKernelVersionTest的要求分别为8.0、8.1和9.0,但后来在10.0上被删除。对于8.0和8.1,它要求版本为3.18、4.4或4.9。对于9.0,它要求版本至少为4.4.107、4.9.84或4.14.42。
可直接从AOSP网站获得更多技术和最新信息:https : //source.android.com/devices/architecture/kernel/core-kernel-reqs