每个Android AOSP版本中都有哪个内核版本的列表吗?

或者说,哪个版本的/ proc / version会吐出来。

评论

相关:为什么会有这么多不同的Android内核,Linux内核和Android内核之间有什么区别?

#1 楼

AOSP中的Linux版本
    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

表编译自:

Wikipedia Android版本历史记录(在括号中;找不到其源代码)

android / kernel / common / Makefile(AOSP中的Linux)

android /平台/外部/kernel-headers/original/uapi/linux/version.h(Bionic使用的Linux标头注意:Android的其他“发行版”可能运行不同的内核版本。
欢迎任何人来纠正和扩展此表。请保持格式。
为什么Android OS /内核版本不匹配
OEM倾向于将其主要Android更新与最初发布该设备的内核类似。这很可能避免较新的内核出现硬件和驱动程序不兼容的问题。例如,已更新为运行Android 8.0 Oreo但最初随附6.0 Marshmallow的设备可能仍在运行Linux 3.18.x,而不是Linux4.10.x。
Linux版本上的供应商测试套件(VTS)要求
根据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/设备/体系结构/内核/核心内核要求

评论


没有硬性规定!例如,Zte Blade上的ICS / JB使用的内核是2.6.35,Sony Xperia Mini上的ICS是2.6.32 ...以少量盐为唯一准则:)

– t0mm13b
13年8月21日在12:31

我完全可以理解为什么运行同一Android版本的不同设备将运行不同的内核,但是此表只是一个经验法则,是的,我希望凭经验法则可以理解一下=

–约翰
13年8月21日在12:43

让我们将此处的表限制为AOSP Android!

–Robert Siemer
13年8月22日在13:27

同样,当发布具有特定android版本和内核的设备,然后由制造商更新android版本时,内核版本大多保持带有补丁的初始版本。

–巴拉特G
2015年10月15日在2:23

请注意,即使Google也不遵守此规定。刚刚使用API​​ 26检查了模拟器,内核为3.18.56+

–罗伊·福克(Roy Falk)
17年12月24日在5:32