Ringkasan arsitektur

Platform Sistem Terbuka Android (AOSP) adalah kode sumber Android yang tersedia untuk umum dan dapat dimodifikasi. Siapa pun dapat mengunduh dan memodifikasi AOSP untuk perangkat mereka. AOSP menyediakan implementasi platform seluler Android yang lengkap dan berfungsi penuh.

Ada dua tingkat kompatibilitas untuk perangkat yang mengimplementasikan AOSP: kompatibilitas AOSP dan kompatibilitas Android. Perangkat yang kompatibel dengan AOSP harus mematuhi daftar persyaratan dalam Dokumen Definisi Kompatibilitas (CDD) . Perangkat yang kompatibel dengan Android harus mematuhi daftar persyaratan dalam CDD dan Persyaratan Perangkat Lunak Vendor (VSR) serta pengujian seperti yang ada di Vendor Test Suite (VTS) dan Compatibility Test Suite (CTS) . Untuk informasi lebih lanjut tentang kompatibilitas Android, lihat program kompatibilitas Android .

arsitektur AOSP

Tumpukan perangkat lunak untuk AOSP berisi lapisan berikut:

Arsitektur tumpukan perangkat lunak AOSP.

Gambar 1. Arsitektur tumpukan perangkat lunak AOSP.

Berikut adalah daftar definisi istilah yang digunakan pada Gambar 1:

aplikasi Android
Aplikasi yang dibuat hanya menggunakan Android API. Google Play Store banyak digunakan untuk mencari dan mengunduh aplikasi Android, meskipun ada banyak alternatif lain. Dalam beberapa kasus, produsen perangkat mungkin ingin melakukan prainstal aplikasi Android untuk mendukung fungsi inti perangkat. Jika Anda tertarik mengembangkan aplikasi Android, lihat developer.android.com
Aplikasi istimewa
Aplikasi yang dibuat menggunakan kombinasi API Android dan sistem. Aplikasi ini harus diinstal sebelumnya sebagai aplikasi dengan hak istimewa di perangkat.
Aplikasi produsen perangkat
Aplikasi yang dibuat menggunakan kombinasi API Android, API sistem, dan akses langsung ke implementasi kerangka kerja Android. Karena produsen perangkat mungkin secara langsung mengakses API yang tidak stabil dalam framework Android, aplikasi ini harus sudah diinstal sebelumnya di perangkat dan hanya dapat diperbarui bila perangkat lunak sistem perangkat diperbarui.
API Sistem
System API mewakili API Android yang hanya tersedia bagi mitra dan OEM untuk disertakan dalam paket aplikasi. API ini ditandai sebagai @SystemApi dalam kode sumber.
API Android
Android API adalah API yang tersedia secara publik untuk pengembang aplikasi Android pihak ketiga. Untuk informasi tentang Android API, lihat referensi Android API .
Kerangka kerja Android
Sekelompok kelas Java, antarmuka, dan kode terkompilasi lainnya yang menjadi dasar pembuatan aplikasi. Bagian dari kerangka kerja dapat diakses publik melalui penggunaan API Android. Bagian lain dari kerangka kerja ini hanya tersedia untuk OEM melalui penggunaan API sistem. Kode kerangka kerja Android berjalan di dalam proses aplikasi.
Layanan sistem
Layanan sistem bersifat modular dan terfokus seperti system_server , SurfaceFlinger, dan MediaService. Fungsionalitas yang diekspos oleh API kerangka Android berkomunikasi dengan layanan sistem untuk mengakses perangkat keras yang mendasarinya.
Waktu proses Android (ART)
Lingkungan runtime Java yang disediakan oleh AOSP. ART melakukan penerjemahan bytecode aplikasi ke dalam instruksi khusus prosesor yang dijalankan oleh lingkungan runtime perangkat.
Lapisan abstraksi perangkat keras (HAL)
HAL adalah lapisan abstraksi dengan antarmuka standar untuk diimplementasikan oleh vendor perangkat keras. HAL memungkinkan Android menjadi agnostik terhadap implementasi driver tingkat rendah. Menggunakan HAL memungkinkan Anda mengimplementasikan fungsionalitas tanpa mempengaruhi atau memodifikasi sistem tingkat yang lebih tinggi. Untuk informasi lebih lanjut, lihat ikhtisar HAL .
Daemon dan perpustakaan asli

Daemon asli di lapisan ini mencakup init , healthd , logd , dan storaged . Daemon ini berinteraksi langsung dengan kernel atau antarmuka lain dan tidak bergantung pada implementasi HAL berbasis ruang pengguna.

Pustaka asli di lapisan ini mencakup libc , liblog , libutils , libbinder , dan libselinux . Pustaka Asli ini berinteraksi langsung dengan kernel atau antarmuka lain dan tidak bergantung pada implementasi HAL berbasis ruang pengguna.

Inti

Kernel adalah bagian sentral dari sistem operasi apa pun dan berkomunikasi dengan perangkat keras yang mendasari suatu perangkat. Jika memungkinkan, kernel AOSP dibagi menjadi modul agnostik perangkat keras dan modul khusus vendor. Untuk penjelasan, termasuk definisi, komponen kernel AOSP, lihat Ikhtisar Kernel .

Apa berikutnya?

  • Jika Anda baru mengenal AOSP dan ingin memulai pengembangan, lihat bagian Memulai .
  • Jika Anda ingin mempelajari lebih lanjut tentang lapisan AOSP tertentu, klik nama bagian di navigasi kiri dan mulai dengan gambaran umum untuk bagian tersebut.