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 titik kegagalan pusat, di mana satu pemain industri membatasi atau mengontrol inovasi pemain lain. Oleh karena itu, AOSP adalah produk developer berkualitas produksi yang lengkap dengan kode sumber yang terbuka untuk penyesuaian dan porting.
Bagian dokumentasi ini membantu developer AOSP baru memulai platform dan melakukan tugas pengembangan penting.
Persyaratan yang diperlukan
Berikut adalah daftar istilah dan definisi yang digunakan di seluruh dokumentasi Memulai. Anda harus mempelajari setiap definisi sebelum melanjutkan lebih lanjut.
- 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 API Sistem AOSP dan menulis aplikasi istimewa serta aplikasi produsen perangkat.
- Developer aplikasi pihak ketiga Android
- Developer aplikasi Android yang hanya menggunakan SDK publik Android untuk membuat aplikasi Android.
Jika Anda ingin mengembangkan aplikasi pihak ketiga untuk Android, lihat
developer.android.com
. Informasi di situs ini hanya ditujukan bagi mereka 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 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 pemberian lisensi Android Play Store, potensi pemberian lisensi rangkaian aplikasi dan API Layanan Seluler Google (GMS), dan penggunaan merek dagang Android. Siapa pun boleh 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 berkontribusi kode untuk digunakan orang lain.
Ada batasan pada jenis kontribusi kode yang diterima Google. Misalnya, Anda mungkin ingin berkontribusi pada 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 tujuan pemberian lisensi.
Jika Anda tertarik untuk berkontribusi pada kode sumber, hubungi Google sebelum memulai pekerjaan.
- Compatibility Test Suite (CTS)
Kumpulan pengujian gratis tingkat komersial, tersedia untuk didownload sebagai biner atau sebagai sumber di AOSP. CTS adalah serangkaian 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 x86 Linux.
- 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), pembuat handset, operator, dan kreator 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
merepresentasikan ponsel x86 65 MB dengan informasi pen-debug-an yang dirancang untuk berjalan 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 perusahaan lain—telah berinvestasi besar-besaran di Android. Perusahaan ini telah mengalokasikan sumber daya engineering yang signifikan untuk meningkatkan kualitas Android dan meluncurkan 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 yang sama telah mengumpulkan sumber daya untuk berkolaborasi dalam satu penerapan produk bersama. Pertama dan terpenting, 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 baik semua penggunaan yang sah. Namun, untuk berpartisipasi dalam ekosistem aplikasi bersama yang dibangun anggota OHA di sekitar Android, pembuat perangkat harus berpartisipasi dalam program Kompatibilitas Android.
AOSP dipimpin oleh Google, yang memelihara dan mengembangkan Android lebih lanjut. Meskipun Android terdiri dari beberapa subproject, AOSP murni merupakan manajemen project. Google melihat dan mengelola Android sebagai satu produk software yang holistik, bukan sebagai distribusi, spesifikasi, atau kumpulan komponen yang dapat diganti. Maksud Google adalah agar pembuat perangkat mem-porting Android ke perangkat; mereka tidak menerapkan spesifikasi atau menyeleksi distribusi.
Apa selanjutnya?
Jika Anda baru menggunakan AOSP dan ingin mempelajari 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 (FAQ) AOSP.