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 menerapkan AOSP: kompatibilitas AOSP dan kompatibilitas Android. Perangkat yang kompatibel dengan AOSP harus sesuai dengan daftar persyaratan dalam Dokumen Definisi Kompatibilitas (CDD) . Perangkat yang kompatibel dengan Android harus sesuai dengan daftar persyaratan dalam CDD dan Persyaratan Perangkat Lunak Vendor (VSR) dan pengujian seperti yang ada dalam 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 untuk 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, meski ada banyak alternatif lain. Dalam beberapa kasus, produsen perangkat mungkin ingin melakukan prainstal aplikasi Android untuk mendukung fungsionalitas inti perangkat. Jika Anda tertarik untuk mengembangkan aplikasi Android, lihat developers.android.com
- Aplikasi istimewa
- Aplikasi yang dibuat menggunakan kombinasi Android dan API sistem. Aplikasi ini harus diinstal sebelumnya sebagai aplikasi istimewa di perangkat.
- Aplikasi produsen perangkat
- Aplikasi yang dibuat menggunakan kombinasi API Android, API sistem, dan akses langsung ke implementasi framework Android. Karena produsen perangkat dapat langsung mengakses API yang tidak stabil dalam framework Android, aplikasi ini harus diinstal sebelumnya di perangkat dan hanya dapat diperbarui jika perangkat lunak sistem perangkat diperbarui.
- Sistem API
- API Sistem mewakili API Android yang tersedia hanya untuk mitra dan OEM untuk disertakan dalam aplikasi paket. API ini ditandai sebagai @SystemApi di kode sumber.
- API Android
- Android API adalah API yang tersedia untuk umum bagi pengembang aplikasi Android pihak ketiga. Untuk informasi tentang Android API, lihat referensi Android API .
- kerangka Android
- Sekelompok kelas Java, antarmuka, dan kode lain yang telah dikompilasi di mana aplikasi dibuat. Bagian kerangka kerja dapat diakses publik melalui penggunaan Android API. Bagian kerangka kerja lainnya hanya tersedia untuk OEM melalui penggunaan API sistem. Kode framework Android berjalan di dalam proses aplikasi.
- Layanan sistem
- Layanan sistem bersifat modular, komponen terfokus seperti
system_server
, SurfaceFlinger, dan MediaService. Fungsionalitas yang diekspos oleh kerangka kerja Android API berkomunikasi dengan layanan sistem untuk mengakses perangkat keras yang mendasarinya. - Waktu proses Android (ART)
- Lingkungan runtime Java yang disediakan oleh AOSP. ART melakukan terjemahan kode byte aplikasi menjadi 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 tentang implementasi driver tingkat rendah. Menggunakan HAL memungkinkan Anda menerapkan 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 termasuk
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 meliputi
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 berbicara dengan perangkat keras yang mendasarinya pada suatu perangkat. Jika memungkinkan, kernel AOSP dibagi menjadi modul agnostik perangkat keras dan modul khusus vendor. Untuk deskripsi, termasuk definisi, komponen kernel AOSP, lihat Tinjauan 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 ikhtisar untuk bagian tersebut.