Android mana yang menjalankan kernel Linux mana?

Jawaban:

57

Versi Linux di 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

Tabel disusun dari:

Catatan: "distribusi" Android lainnya mungkin menjalankan versi kernel yang berbeda.

Siapa pun boleh memperbaiki dan memperluas tabel ini. Harap terus memformat.

Mengapa Android OS / versi kernel tidak cocok

OEM cenderung mengirimkan pembaruan Android utama mereka dengan kernel yang mirip dengan yang awalnya dirilis oleh perangkat. Ini kemungkinan besar untuk menghindari masalah ketidakcocokan perangkat keras dan driver dengan kernel yang lebih baru. Misalnya, perangkat yang telah diperbarui untuk menjalankan Android 8.0 Oreo tetapi awalnya dikirim dengan 6.0 Marshmallow mungkin masih menjalankan Linux 3.18.x bukan Linux 4.10.x.

Persyaratan Vendor Test Suite (VTS) pada versi Linux

Menurut artikel 2017 tentang XDA-Pengembang (disingkat):

Salah satu aspek yang telah mencapai OEM adalah versi kernel Linux tetapi ini berubah dengan Android Oreo.

Selama OEM mampu lulus tes sertifikasi yang Google keluarkan, maka mereka tidak peduli versi kernel apa yang digunakan pada perangkat baru. Ini umumnya bukan masalah karena kebanyakan OEM akan menggunakan versi kernel yang sama untuk generasi yang digunakan OEM lain, karena ini sangat terkait dengan apa yang didukung oleh driver perangkat keras. Namun, beberapa telah jatuh melalui celah-celah dan ini mulai menyebabkan masalah keamanan. Ini adalah sesuatu yang serius dari Google akhir-akhir ini, jadi masuk akal jika mereka ingin memulai mandat ini.

Mulai tahun ini dengan smartphone yang dikirimkan dengan Android Oreo, Google mengharuskan semua SoC yang diproduksi pada 2017 harus diluncurkan dengan kernel 4.4 atau yang lebih baru.

Saat ini perangkat yang ada yang ditingkatkan ke Android Oreo hanya diperlukan untuk menjalankan kernel versi 3.18 atau yang lebih baru, dan tidak perlu ditingkatkan untuk mendukung Project Treble.

Menurut https://android.googlesource.com/platform/test/vts-testcase/kernel/ , ada persyaratan pada versi Linux, VtsKernelConfigTest atau VtsKernelVersionTest, pada 8.0, 8.1, dan 9.0, tetapi kemudian dihapus pada 10.0. Untuk 8.0 dan 8.1, versi ini haruslah versi 3.18, 4.4, atau 4.9. Untuk 9.0, diperlukan versi paling tidak 4.4.107, 4.9.84, atau 4.14.42.

Informasi teknis dan terbaru lainnya tersedia langsung dari situs web AOSP: https://source.android.com/devices/architecture/kernel/core-kernel-reqs

Icosie
sumber
7
Tidak ada aturan cepat yang terlibat! Sebagai contoh, ICS / JB pada Zte Blade menggunakan kernel 2.6.35, ICS pada Sony Xperia Mini 2.6.32 ... ambil ini dengan sejumput garam sebagai satu-satunya pedoman :)
t0mm13b
3
Saya benar-benar dapat melihat mengapa perangkat yang berbeda yang menjalankan versi Android yang sama akan menjalankan kernel yang berbeda, tetapi tabel ini hanya aturan praktis dan ya saya ingin sebutir garam dengan aturan praktis =)
John
3
Mari kita batasi tabel di sini untuk AOSP Android!
Robert Siemer
3
Juga, ketika perangkat dirilis dengan versi android dan kernel tertentu, dan kemudian versi android diperbarui oleh pabrikan, versi kernel sebagian besar disimpan di versi awal dengan tambalan.
Bharat G
1
Perhatikan bahwa bahkan Google tidak mengikuti ini. Baru saja memeriksa emulator dengan API 26 dan kernelnya adalah 3.18.56+
Roy Falk