Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Arsitektur AOSP

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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 Compatability 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.
  • aplikasi Android. Aplikasi yang dibuat hanya menggunakan Android API di dalam Android SDK. 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, lanjutkan ke developers.android.com .
  • Aplikasi istimewa. Aplikasi yang dibuat menggunakan kombinasi Android dan API sistem. Aplikasi ini harus diinstal sebelumnya sebagai aplikasi dengan hak istimewa di perangkat.
  • Aplikasi pembuatan 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.
  • kerangka Android. Sekelompok kelas Java, antarmuka, dan kode lain yang telah dikompilasi di mana aplikasi dibuat. Bagian kerangka kerja dapat diakses publik melalui penggunaan API Android Android SDK. Bagian kerangka kerja lainnya hanya tersedia untuk OEM melalui penggunaan API sistem Android SDK. Kode framework Android berjalan di dalam proses aplikasi.
  • Android SDK. Kit pengembangan perangkat lunak untuk digunakan dalam membuat aplikasi yang berinteraksi dengan framework Android. Android SDK terdiri dari API Android, tersedia untuk semua aplikasi, dan API sistem, hanya tersedia untuk aplikasi dengan hak istimewa. Untuk informasi lebih lanjut tentang API Android SDK Android, lanjutkan ke developers.android.com . Perhatikan bahwa ada juga kit pengembangan asli Android (NDK) yang memungkinkan Anda menulis sebagian aplikasi Android menggunakan kode asli.
  • 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 aplikasi Java yang disediakan oleh AOSP. ART melakukan penerjemahan 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 memengaruhi 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 , 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 meliputi 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. Bagian sentral dari sistem operasi apa pun, kernel 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 Ikhtisar Kernel .

Apa berikutnya?

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