Qual Android executa qual kernel Linux?

Respostas:

57

Versão Linux no 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

Tabela compilada de:

Nota: outras "distribuições" do Android podem executar versões diferentes do kernel.

Qualquer pessoa pode corrigir e expandir esta tabela. Por favor, mantenha a formatação.

Por que a versão do SO / kernel do Android é incompatível

Os OEMs tendem a enviar suas principais atualizações do Android com um kernel semelhante àquele com o qual o dispositivo foi lançado inicialmente. É mais provável que isso evite problemas de incompatibilidade de hardware e driver com um kernel mais recente. Por exemplo, um dispositivo que foi atualizado para executar o Android 8.0 Oreo, mas originalmente fornecido com o 6.0 Marshmallow ainda pode estar executando o Linux 3.18.x em vez do Linux 4.10.x.

Requisitos do Vendor Test Suite (VTS) na versão Linux

De acordo com um artigo de 2017 sobre XDA-Developers (abreviado):

Um aspecto que depende do OEM é a versão do kernel Linux, mas isso está mudando com o Android Oreo.

Desde que o OEM tenha sido aprovado nos testes de certificação estabelecidos pelo Google, eles não se importaram com a versão do kernel usada em um novo dispositivo. Isso geralmente não era um problema, pois a maioria dos OEMs usaria a mesma versão do kernel para essa geração que outros OEMs estavam usando, pois está muito ligada ao suporte dos drivers de hardware. No entanto, alguns estavam caindo no buraco e isso começou a causar problemas de segurança. Isso é algo que o Google vem levando a sério ultimamente, por isso faz sentido que eles desejem começar a exigir isso.

A partir deste ano, com smartphones que acompanham o Android Oreo, o Google exige que todos os SoCs produzidos em 2017 sejam lançados com o kernel 4.4 ou mais recente.

Atualmente, os dispositivos existentes atualizados para o Android Oreo são necessários apenas para executar a versão 3.18 do kernel ou mais recente e não precisam ser atualizados para dar suporte ao Project Treble.

De acordo com https://android.googlesource.com/platform/test/vts-testcase/kernel/ , havia um requisito na versão Linux, VtsKernelConfigTest ou VtsKernelVersionTest, nas versões 8.0, 8.1 e 9.0, mas posteriormente removida na 10.0. Para 8.0 e 8.1, requer que a versão seja 3.18, 4.4 ou 4.9. Para a 9.0, requer que a versão seja pelo menos 4.4.107, 4.9.84 ou 4.14.42.

Informações mais técnicas e recentes disponíveis diretamente no site da AOSP: https://source.android.com/devices/architecture/kernel/core-kernel-reqs

Icosie
fonte
7
Não há regras rápidas rígidas envolvidas! Por exemplo, ICS / JB on Zte lâmina usada do kernel 2.6.35, o ICS no Sony Xperia Mini foi 2.6.32 ... levar isso com uma pitada de sal como sua apenas uma orientação :)
t0mm13b
3
Eu posso totalmente ver por diferentes dispositivos que executam a mesma versão Android seria executado kernels diferentes, mas esta tabela é apenas uma regra de ouro e sim, eu gostaria de um grão de sal com a minha regra de ouro =)
John
3
Vamos restringir a tabela aqui ao AOSP Android!
22313 Robert Siemer
3
Além disso, quando um dispositivo é lançado com versão e kernel específicos do Android e, posteriormente, a versão do Android é atualizada pelo fabricante, a versão do kernel é mantida principalmente na versão inicial com patches.
Bharat G
11
Observe que nem o Google está seguindo isso. Acabei de verificar o emulador com a API 26 e o ​​kernel é 3.18.56+
Roy Falk