Pada artikel ini saya akan membahas tentang arsitektur android. Di bawah ini adalah arsitektur dari android:
Linux Kernel
Android adalah sebuah framework yang berjalan di atas linux kernel, dan kernel inilah yang menghubungkan sistem android dan perangkat keras.
Hardware Abstraction Layer (HAL)
Hardware Abstraction Layer (HAL) berisi modul pustaka untuk komponen perangkat keras seperti audio, bluetooth, camera, keypad, dll. Ketika Java API Framework butuh akses perangkat keras, sistem android akan memuat modul pustaka untuk komponen perangkat keras tersebut.
Android Runtime (ART)
Android Runtime adalah sebuah virtual mesin yang mengeksekusi file DEX (Dalvik Executable) dengan mengubah bytecode menjadi kode mesin sehingga dimengerti oleh perangkat keras, file dex dieksekusi Just In Time (JIT) dan Ahead of Time (AOT), JIT melakukan kompilasi bytecode hanya saat aplikasi digunakan, AOT melakukan kompilasi sebelum waktu eksekusi untuk mengubah file dex menjadi kode mesin sehingga meningkatkan performa aplikasi dan mengurangi waktu opsi pembebanan saat aplikasi dibuka.
Native C/C++ Libraries
Native C atau Lib C adalah pustaka yang di sediakan sistem android untuk beberapa komponen seperti ART dan HAL, jika ART menjalankan sebuah perintah dia akan mengambil pustaka dari Lib C untuk menjalankan perintah tersebut sehingga letaknya pada arsitektur android berdampingan.
Java API Framework
Java API Framework terbagi menjadi Managers, Content Provider, dan View System. API tersebut pada sistem android menyediakan elemen dasar untuk membuat aplikasi android, termasuk tampilan UI, sumber daya, notifikasi, aktivitas, dan akses data antar aplikasi.
System Apps
Android dilengkapi dengan aplikasi inti seperti email, SMS, kalender, browser, dan kontak. Pengguna dapat mengganti aplikasi pihak ketiga sebagai pengganti dari aplikasi inti yang sudah disediakan. System apps inilah yang bersentuhan langsung dengan pengguna.
Referensi: