Ringkasan AOSP

Android adalah sistem operasi untuk berbagai perangkat dengan faktor bentuk yang berbeda. Dokumentasi dan kode sumber untuk Android tersedia bagi siapa saja sebagai Android Open Source Project (AOSP). Anda dapat menggunakan AOSP untuk membuat varian kustom Android OS untuk perangkat Anda sendiri.

AOSP dirancang agar tidak ada satu titik kegagalan pusat, tempat satu pemain industri membatasi atau mengontrol inovasi pemain lain. Oleh karena itu, AOSP adalah produk developer berkualitas produksi lengkap dengan kode sumber yang terbuka untuk penyesuaian dan porting.

Bagian dokumentasi ini membantu developer AOSP baru memulai platform dan melakukan tugas pengembangan penting.

Istilah yang diperlukan

Berikut adalah daftar istilah dan definisi yang digunakan di seluruh dokumentasi Memulai. Anda harus mempelajari setiap definisi sebelum melanjutkan.

Developer aplikasi Android

Developer aplikasi Android menulis aplikasi Android atau aplikasi yang berjalan di Android. Ada dua jenis developer aplikasi: developer aplikasi pihak pertama (1p) dan pihak ketiga (3p).

Developer aplikasi pihak pertama Android
Developer aplikasi Android yang memiliki akses ke AOSP System API dan menulis aplikasi produsen perangkat dan aplikasi dengan hak istimewa.
Developer aplikasi pihak ketiga Android
Developer aplikasi Android yang hanya menggunakan Android SDK publik untuk membuat aplikasi Android.

Jika Anda ingin mengembangkan aplikasi pihak ketiga untuk Android, lihat developer.android.com. Informasi di situs ini hanya untuk orang yang bekerja langsung dengan AOSP.

Android Debug Bridge (adb)
Alat command line (adb) yang memungkinkan workstation Anda berkomunikasi dengan perangkat virtual, yang diemulasikan software, atau perangkat fisik.
Perangkat yang kompatibel dengan Android
Perangkat yang dapat menjalankan aplikasi pihak ketiga yang ditulis oleh developer pihak ketiga menggunakan Android SDK dan NDK. Perangkat yang kompatibel dengan Android harus mematuhi persyaratan Compatibility Definition Document (CDD) dan lulus Compatibility Test Suite (CTS). Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android yang mencakup potensi lisensi Google Play Store, potensi lisensi rangkaian Layanan Seluler Google (GMS) suite of aplikasi dan API, dan penggunaan merek dagang Android. Siapa pun dapat menggunakan kode sumber Android, tetapi agar dianggap sebagai bagian dari ekosistem Android, perangkat harus kompatibel dengan Android. Untuk informasi lebih lanjut tentang kompatibilitas dan CTS, lihat ringkasan Program Kompatibilitas Android
Compatibility Definition Document (CDD)
Dokumen yang mencantumkan persyaratan software dan hardware untuk perangkat yang kompatibel dengan Android.
Kontributor

Orang yang memberikan kontribusi pada kode sumber AOSP. Kontributor dapat berupa karyawan Google, karyawan dari perusahaan lain, dan individu tanpa afiliasi perusahaan. Setiap kontributor AOSP menggunakan alat yang sama, mengikuti proses peninjauan kode yang sama, dan tunduk pada gaya coding yang sama. Anda tidak harus menjadi kontributor untuk menggunakan AOSP; Anda dapat mendownload AOSP, mengubahnya untuk kebutuhan Anda sendiri, dan men-deploy-nya di perangkat tanpa memberikan kontribusi kode untuk digunakan orang lain.

Ada batasan untuk jenis kontribusi kode yang diterima Google. Misalnya, Anda mungkin ingin memberikan kontribusi API aplikasi alternatif, seperti lingkungan berbasis C++ lengkap. Google akan menolak kontribusi tersebut karena Android mendorong aplikasi untuk dijalankan di runtime ART. Demikian pula, Google tidak menerima kontribusi seperti library GPL atau LGPL yang tidak kompatibel dengan sasaran lisensi.

Jika Anda tertarik untuk memberikan kontribusi kode sumber, hubungi Google sebelum memulai pekerjaan.

Compatibility Test Suite (CTS)

Suite pengujian komersial gratis yang tersedia untuk didownload sebagai biner atau sebagai sumber di AOSP. CTS adalah kumpulan pengujian unit yang dirancang untuk diintegrasikan ke dalam alur kerja harian Anda. Tujuan CTS adalah untuk mengungkapkan ketidakcocokan, dan memastikan bahwa software tetap kompatibel selama proses pengembangan.

Cuttlefish

Perangkat virtual yang dapat dikonfigurasi dan didukung Android yang dapat dijalankan dari jarak jauh, menggunakan penawaran cloud pihak ketiga, seperti Google Cloud Engine, dan secara lokal di mesin Linux x86.

Developer

Dalam konteks AOSP, developer adalah siapa saja yang bekerja dengan AOSP dengan cara apa pun. Istilah "developer" digunakan untuk merujuk secara umum kepada berbagai orang yang mungkin membaca dokumentasi ini, seperti produsen peralatan asli (OEM), produsen handset, operator, dan pembuat System-on-a-Chip (SoC).

Layanan Seluler Google (GMS)

Kumpulan aplikasi dan API Google yang dapat diinstal sebelumnya di perangkat.

Target

Permutasi perangkat, seperti model atau faktor bentuk tertentu. Misalnya, aosp_cf_x86_64_only_phone-userdebug mewakili ponsel x86 65 MB dengan informasi proses debug yang dirancang untuk dijalankan di emulator cuttlefish.

Filosofi tata kelola

Sekelompok perusahaan yang dikenal sebagai Open Handset Alliance (OHA), yang dipimpin oleh Google, menciptakan Android. Saat ini, banyak perusahaan—baik anggota asli OHA maupun lainnya—telah berinvestasi besar-besaran di Android. Perusahaan-perusahaan ini telah mengalokasikan sumber daya teknik yang signifikan untuk meningkatkan Android dan menghadirkan perangkat Android ke pasar.

Perusahaan yang telah berinvestasi di Android melakukannya karena mereka yakin bahwa platform terbuka diperlukan. Android secara sengaja dan eksplisit merupakan upaya open source (bukan software gratis); sekelompok organisasi dengan kebutuhan bersama telah mengumpulkan sumber daya untuk berkolaborasi dalam satu implementasi produk bersama. Pertama dan terutama, filosofi Android bersifat pragmatis. Tujuannya adalah produk bersama yang dapat disesuaikan dan dikustomisasi oleh setiap kontributor.

Tentu saja, penyesuaian yang tidak terkontrol dapat menyebabkan implementasi yang tidak kompatibel. Untuk mencegah ketidakcocokan, Project Open Source Android (AOSP) mempertahankan program Kompatibilitas Android, yang menjelaskan apa artinya kompatibel dengan Android dan apa yang diperlukan dari pembuat perangkat untuk mencapai status tersebut. Siapa pun dapat menggunakan kode sumber Android untuk tujuan apa pun, dan Google menyambut semua penggunaan yang sah. Namun, untuk berpartisipasi dalam ekosistem aplikasi bersama yang dibangun oleh anggota OHA di sekitar Android, pembuat perangkat harus berpartisipasi dalam program Kompatibilitas Android.

AOSP dipimpin oleh Google, yang mempertahankan dan mengembangkan lebih lanjut Android. Meskipun Android terdiri dari beberapa subproject, AOSP adalah manajemen project yang ketat. Google melihat dan mengelola Android sebagai satu produk software holistik, bukan distribusi, spesifikasi, atau kumpulan komponen yang dapat diganti. Tujuan Google adalah agar pembuat perangkat melakukan porting Android ke perangkat; mereka tidak menerapkan spesifikasi atau mengelola distribusi.

Apa langkah selanjutnya?

  • Jika Anda baru menggunakan AOSP dan ingin menjalankan tutorial tentang pengembangan AOSP, lanjutkan dengan tutorial AOSP.

  • Jika Anda yakin bahwa perangkat Anda harus kompatibel dengan Android, lihat program Kompatibilitas Android.

  • Jika Anda ingin mempelajari latar belakang AOSP, termasuk partisipasi Google dalam platform ini, lihat pertanyaan umum AOSP.