Auf welchem ​​Android läuft welcher Linux-Kernel?

Antworten:

57

Linux-Version in AOSP

    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

Tabelle zusammengestellt aus:

Hinweis: Auf anderen „Distributionen“ von Android werden möglicherweise andere Kernelversionen ausgeführt.

Jeder kann diese Tabelle korrigieren und erweitern. Bitte formatieren Sie weiter.

Warum stimmt die Version von Android OS / Kernel nicht überein?

OEMs neigen dazu, ihre wichtigsten Android-Updates mit einem ähnlichen Kernel zu liefern wie den, mit dem das Gerät ursprünglich veröffentlicht wurde. Dies ist am wahrscheinlichsten, um Hardware- und Treiberinkompatibilitätsprobleme mit einem neueren Kernel zu vermeiden . Beispielsweise wird auf einem Gerät, das für Android 8.0 Oreo aktualisiert wurde, aber ursprünglich mit 6.0 Marshmallow ausgeliefert wurde, möglicherweise weiterhin Linux 3.18.x anstelle von Linux 4.10.x ausgeführt.

Vendor Test Suite (VTS) -Anforderungen unter Linux

Laut einem Artikel von 2017 über XDA-Entwickler (gekürzt):

Ein Aspekt, der dem OEM bisher überlassen wurde, ist die Linux-Kernel-Version. Dies ändert sich jedoch mit Android Oreo.

Solange der OEM die von Google festgelegten Zertifizierungstests bestehen konnte, war es ihm egal, welche Kernelversion in einem neuen Gerät verwendet wurde. Dies war im Allgemeinen kein Problem, da die meisten OEMs für diese Generation dieselbe Kernel-Version verwenden würden, die auch andere OEMs verwendet haben, da dies stark mit der Unterstützung der Hardwaretreiber zusammenhängt. Einige waren jedoch durch die Risse gefallen und dies verursachte Sicherheitsprobleme. Dies ist etwas, was Google in letzter Zeit ernst genommen hat. Es ist daher sinnvoll, dass Google damit beginnen möchte, dies zu tun.

Ab diesem Jahr verlangt Google für Smartphones, die mit Android Oreo ausgeliefert werden, dass alle 2017 produzierten SoCs mit Kernel 4.4 oder neuer gestartet werden.

Derzeit müssen vorhandene Geräte, die auf Android Oreo aktualisiert wurden, nur für die Kernelversion 3.18 oder höher ausgeführt werden und müssen nicht aktualisiert werden, um Project Treble zu unterstützen.

Laut https://android.googlesource.com/platform/test/vts-testcase/kernel/ gab es eine Anforderung für die Linux-Version VtsKernelConfigTest oder VtsKernelVersionTest für 8.0, 8.1 und 9.0, die jedoch später für 10.0 entfernt wurde. Für 8.0 und 8.1 muss die Version entweder 3.18, 4.4 oder 4.9 sein. Für 9.0 muss die Version mindestens 4.4.107, 4.9.84 oder 4.14.42 sein.

Weitere technische und aktuelle Informationen finden Sie direkt auf der AOSP-Website: https://source.android.com/devices/architecture/kernel/core-kernel-reqs

Icosie
quelle
7
Es gibt keine festen Regeln! Zum Beispiel verwendete ICS / JB auf Zte Blade den Kernel 2.6.35, ICS auf Sony Xperia Mini war 2.6.32 ... nimm dies mit einer Prise Salz als einzige Richtlinie :)
t0mm13b
3
Ich kann völlig verstehen, warum auf verschiedenen Geräten, auf denen dieselbe Android-Version ausgeführt wird, unterschiedliche Kernel ausgeführt werden, aber diese Tabelle ist nur eine Faustregel, und ja, ich hätte gerne ein Salzkorn mit meiner Faustregel =)
John
3
Beschränken wir die Tabelle hier auf AOSP Android!
Robert Siemer
3
Wenn ein Gerät mit einer bestimmten Android-Version und einem bestimmten Kernel veröffentlicht wird und die Android-Version später vom Hersteller aktualisiert wird, wird die Kernel-Version meist auf der ursprünglichen Version mit Patches belassen.
Bharat G
1
Beachten Sie, dass auch Google dies nicht befolgt. Habe gerade den Emulator mit API 26 überprüft und der Kernel ist 3.18.56+
Roy Falk