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:
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
, danstoraged
. 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
, danlibselinux
. 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.