Ringkasan arsitektur

Project Open Source Android (AOSP) adalah kode sumber Android yang tersedia secara publik dan dapat diubah. 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 mengimplementasikan 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 dalam Vendor Test Suite (VTS) dan Compatibility Test Suite (CTS). Untuk mengetahui informasi selengkapnya tentang kompatibilitas Android, lihat program kompatibilitas Android.

Arsitektur AOSP

Stack software untuk AOSP berisi lapisan berikut:

Arsitektur stack software AOSP.

Gambar 1. Arsitektur stack 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 pra-menginstal 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 API Android dan sistem. Aplikasi ini harus diprainstal 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.
System API
System API mewakili API Android yang hanya tersedia bagi partner dan OEM untuk disertakan dalam aplikasi paket. API ini ditandai sebagai @SystemApi dalam kode sumber.
Android API
Android API adalah API yang tersedia untuk publik bagi developer aplikasi Android pihak ketiga. Untuk mengetahui informasi tentang Android API, lihat Referensi Android API.
Framework Android
Sekelompok class, antarmuka, dan kode prakompilasi Java lainnya yang menjadi dasar pembuatan aplikasi. Sebagian framework dapat diakses secara publik melalui penggunaan Android API. Bagian lain dari framework hanya tersedia untuk OEM melalui penggunaan API sistem. Kode framework Android berjalan di dalam proses aplikasi.
Layanan sistem
Layanan sistem adalah komponen modular yang terfokus seperti system_server, SurfaceFlinger, dan MediaService. Fungsi yang ditampilkan oleh API framework Android berkomunikasi dengan layanan sistem untuk mengakses hardware yang mendasarinya.
Runtime Android (ART)
Lingkungan runtime Java yang disediakan oleh AOSP. ART melakukan penerjemahan bytecode aplikasi menjadi 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 menjadi agnostik terhadap implementasi driver level bawah. Dengan menggunakan HAL, Anda dapat menerapkan fungsi tanpa memengaruhi atau mengubah sistem level yang lebih tinggi. Untuk informasi selengkapnya, 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

{i>Kernel<i} adalah bagian pusat dari setiap sistem operasi dan berkomunikasi dengan hardware yang mendasarinya pada perangkat. Jika memungkinkan, kernel AOSP akan dibagi menjadi modul yang tidak bergantung pada hardware dan modul khusus vendor. Untuk deskripsi, termasuk definisi, komponen kernel AOSP, lihat Ringkasan kernel.

Apa selanjutnya?

  • Jika Anda baru menggunakan AOSP, dan ingin memulai pengembangan, lihat bagian Mulai.
  • Jika Anda ingin mempelajari lebih lanjut lapisan AOSP tertentu, klik nama bagian di navigasi sebelah kiri dan mulailah dengan ringkasan untuk bagian tersebut.