Quale Android esegue quale kernel Linux?


Risposte:


57

Versione Linux 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

Tabella compilata da:

Nota: altre "distribuzioni" di Android potrebbero eseguire diverse versioni del kernel.

Chiunque è invitato a correggere ed espandere questa tabella. Continua a formattare.

Perché la versione del sistema operativo Android / kernel non corrisponde

Gli OEM tendono a distribuire i loro principali aggiornamenti Android con un kernel simile a quello con cui il dispositivo è stato inizialmente rilasciato. È molto probabile che ciò eviti problemi di incompatibilità hardware e driver con un kernel più recente. Ad esempio, un dispositivo che è stato aggiornato per eseguire Android 8.0 Oreo ma originariamente fornito con 6.0 Marshmallow potrebbe ancora eseguire Linux 3.18.x anziché Linux 4.10.x.

Requisiti del Vendor Test Suite (VTS) sulla versione Linux

Secondo un articolo del 2017 su XDA-Developers (abbreviato):

Un aspetto che è stato fino all'OEM è la versione del kernel Linux, ma questo sta cambiando con Android Oreo.

Fintanto che l'OEM è stato in grado di superare i test di certificazione stabiliti da Google, non gli importava quale versione del kernel fosse utilizzata in un nuovo dispositivo. Questo in genere non era un problema in quanto la maggior parte degli OEM utilizzava la stessa versione del kernel per quella generazione utilizzata da altri OEM, poiché è fortemente legata a ciò che supportano i driver hardware. Tuttavia, alcuni erano caduti nelle fessure e questo ha iniziato a causare problemi di sicurezza. Questo è qualcosa che Google ha preso sul serio ultimamente, quindi ha senso che vorrebbero iniziare a imporre questo.

A partire da quest'anno con gli smartphone forniti con Android Oreo, Google richiede che tutti i SoC prodotti nel 2017 debbano essere lanciati con il kernel 4.4 o successivo.

I dispositivi attualmente aggiornati che vengono aggiornati ad Android Oreo sono necessari solo per eseguire la versione 3.18 o successiva del kernel e non dovranno essere aggiornati per supportare Project Treble.

Secondo https://android.googlesource.com/platform/test/vts-testcase/kernel/ , c'era un requisito sulla versione Linux, VtsKernelConfigTest o VtsKernelVersionTest, su 8.0, 8.1 e 9.0, ma successivamente rimosso su 10.0. Per 8.0 e 8.1, richiede che la versione sia 3.18, 4.4 o 4.9. Per 9.0, richiede che la versione sia almeno 4.4.107, 4.9.84 o 4.14.42.

Ulteriori informazioni tecniche e recenti disponibili direttamente dal sito Web AOSP: https://source.android.com/devices/architecture/kernel/core-kernel-reqs


7
Non ci sono regole rigide e veloci! Ad esempio, ICS / JB su Zte Blade usava il kernel 2.6.35, ICS su Sony Xperia Mini era 2.6.32 ... prendilo con un pizzico di sale perché è solo una linea guida :)
t0mm13b

3
Riesco a capire perché diversi dispositivi che eseguono la stessa versione di Android eseguono kernel diversi, ma questa tabella è solo una regola empirica e sì, vorrei un granello di sale con la mia regola empirica =)
Giovanni

3
Limitiamo la tabella qui ad Android AOSP!
Robert Siemer,

3
Inoltre, quando un dispositivo viene rilasciato con una versione e un kernel Android specifici, e successivamente la versione Android viene aggiornata dal produttore, la versione del kernel viene mantenuta principalmente alla versione iniziale con patch.
Bharat G

1
Nota che anche Google non sta seguendo questo. Ho appena controllato l'emulatore con API 26 e il kernel è 3.18.56+
Roy Falk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.