Ringkasan arsitektur

Android Open Source Project (AOSP) adalah kode sumber Android yang tersedia dan dapat diubah secara publik. Siapa saja dapat mendownload dan mengubah 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 Compatibility Definition Document (CDD). Perangkat yang kompatibel dengan Android harus sesuai dengan daftar persyaratan dalam CDD dan Vendor Software Requirements (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 software untuk AOSP berisi lapisan berikut:

Arsitektur tumpukan software AOSP.

Gambar 1. Arsitektur tumpukan software AOSP.

Berikut adalah daftar definisi untuk istilah yang digunakan dalam Gambar 1:

Aplikasi Android
Aplikasi yang dibuat hanya menggunakan Android API. Google Play Store banyak digunakan untuk menemukan dan mendownload aplikasi Android, meskipun ada banyak alternatif lainnya. Dalam beberapa kasus, produsen perangkat mungkin ingin melakukan prainstal aplikasi Android untuk mendukung fungsi inti perangkat. Jika Anda tertarik untuk mengembangkan aplikasi Android, lihat developers.android.com.
Aplikasi dengan hak istimewa
Aplikasi yang dibuat menggunakan kombinasi Android dan API sistem. Aplikasi ini harus diinstal sebelumnya sebagai aplikasi dengan hak istimewa di perangkat.
Aplikasi produsen perangkat
Aplikasi yang dibuat menggunakan kombinasi Android API, API sistem, dan akses langsung ke implementasi framework Android. Karena produsen perangkat mungkin langsung mengakses API yang tidak stabil dalam framework Android, aplikasi ini harus diinstal sebelumnya di perangkat dan hanya dapat diupdate saat software sistem perangkat diupdate.
API Sistem
System API mewakili Android API yang hanya tersedia untuk partner dan OEM untuk disertakan dalam aplikasi gabungan. API ini ditandai sebagai @SystemApi dalam kode sumber.
Android API
Android API adalah API yang tersedia secara publik untuk developer aplikasi Android pihak ketiga. Untuk informasi tentang Android API, lihat Referensi Android API.
Framework Android
Grup class Java, antarmuka, dan kode prakompilasi lainnya yang digunakan untuk membuat aplikasi. Bagian framework dapat diakses secara publik melalui penggunaan Android API. Bagian framework lainnya hanya tersedia untuk OEM melalui penggunaan API sistem. Kode framework Android berjalan di dalam proses aplikasi.
Layanan sistem
Layanan sistem adalah komponen modular dan terfokus seperti system_server, SurfaceFlinger, dan MediaService. Fungsi yang diekspos oleh Android framework API berkomunikasi dengan layanan sistem untuk mengakses hardware yang mendasarinya.
Runtime Android (ART)
Lingkungan runtime Java yang disediakan oleh AOSP. ART melakukan terjemahan bytecode aplikasi ke dalam petunjuk khusus prosesor yang dijalankan oleh lingkungan runtime perangkat.
Hardware abstraction layer (HAL)
HAL adalah lapisan abstraksi dengan antarmuka standar untuk diterapkan oleh vendor hardware. HAL memungkinkan Android tidak bergantung pada implementasi driver tingkat yang lebih rendah. Menggunakan HAL memungkinkan Anda menerapkan fungsi tanpa memengaruhi atau mengubah sistem tingkat yang lebih tinggi. Untuk informasi lebih lanjut, lihat Ringkasan HAL.
Daemon dan library native

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

Library native di lapisan ini mencakup libc, liblog, libutils, libbinder, dan libselinux. Library Native ini berinteraksi langsung dengan kernel atau antarmuka lainnya dan tidak bergantung pada implementasi HAL berbasis ruang pengguna.

Kernel

Kernel adalah bagian inti dari sistem operasi apa pun dan berkomunikasi dengan hardware yang mendasarinya di perangkat. Jika memungkinkan, kernel AOSP dibagi menjadi modul yang tidak bergantung pada hardware dan modul khusus vendor. Untuk mengetahui deskripsi, termasuk definisi, komponen kernel AOSP, lihat Ringkasan kernel.

Apa langkah selanjutnya?

  • Jika Anda baru menggunakan AOSP, dan ingin mulai mengembangkan, lihat bagian Memulai.
  • Jika Anda ingin mempelajari lebih lanjut lapisan AOSP tertentu, klik nama bagian di navigasi kiri dan mulai dengan ringkasan untuk bagian tersebut.