哪个Android运行哪个Linux内核?


Answers:


57

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

表编译自:

注意: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/devices/architecture/kernel/core-kernel-reqs


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

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

3
让我们将此表限制为AOSP Android!
罗伯特·西默

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

1
请注意,即使Google也不遵守此规定。刚刚使用API​​ 26检查了模拟器,内核为3.18.56+
Roy Falk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.