Android adalah sistem operasi untuk berbagai perangkat dengan faktor bentuk yang berbeda. Dokumentasi dan kode sumber untuk Android tersedia bagi siapa saja sebagai Proyek Open Source Android (AOSP). Anda dapat menggunakan AOSP untuk membuat varian kustom Android OS untuk perangkat Anda sendiri.
AOSP dirancang agar tidak ada titik kegagalan pusat, tempat satu pemain industri membatasi atau mengontrol inovasi pemain lain. Oleh karena itu, AOSP adalah produk developer lengkap berkualitas produksi dengan kode sumber yang terbuka untuk penyesuaian dan porting.
Bagian dokumentasi ini membantu developer AOSP baru memulai platform dan melakukan tugas pengembangan yang penting.
Istilah yang diperlukan
Berikut adalah daftar istilah dan definisi yang digunakan di seluruh dokumentasi Memulai. Anda harus mempelajari setiap definisi sebelum melanjutkan lebih jauh.
- Developer aplikasi Android
Developer aplikasi Android menulis aplikasi Android atau aplikasi yang berjalan di Android. Ada dua klasifikasi 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 SDK publik Android untuk membuat aplikasi Android.
Jika Anda ingin mengembangkan aplikasi pihak ketiga untuk Android, lihat
developers.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 diemulasi software, atau fisik. - Perangkat yang kompatibel dengan Android
- Perangkat yang dapat menjalankan aplikasi pihak ketiga apa pun 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 layak 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 selengkapnya 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
Seseorang 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, memodifikasinya untuk kebutuhan Anda sendiri, dan men-deploy-nya di perangkat tanpa memberikan kode untuk digunakan orang lain.
Ada batasan untuk 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)
Paket 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 inkompatibilitas, dan memastikan bahwa software tetap kompatibel selama proses pengembangan.
- Cuttlefish
Perangkat virtual yang didukung Android dan dapat dikonfigurasi yang dapat berjalan 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 secara umum untuk merujuk pada berbagai orang yang mungkin membaca dokumentasi ini, seperti produsen peralatan asli (OEM), pembuat handset, operator, dan pembuat System-on-a-Chip (SoC).
- Layanan Seluler Google (GMS)
Kumpulan aplikasi dan API Google yang dapat diprainstal di perangkat.
- Target
Permutasi perangkat, seperti model atau faktor bentuk tertentu. Misalnya,
aosp_cf_x86_64_phone-userdebug
mewakili ponsel x86 65 MB dengan informasi proses debug yang dirancang untuk berjalan di emulator cuttlefish.
Filosofi tata kelola
Sekelompok perusahaan yang dikenal sebagai Open Handset Alliance (OHA), yang dipimpin oleh Google, berasal dari Android. Saat ini, banyak perusahaan—baik anggota asli OHA maupun yang lain—telah berinvestasi besar-besaran di Android. Perusahaan ini telah mengalokasikan resource engineer yang signifikan untuk meningkatkan Android dan menghadirkan perangkat Android ke pasar.
Perusahaan yang telah berinvestasi di Android melakukannya karena mereka percaya platform terbuka diperlukan. Android secara sengaja dan eksplisit merupakan upaya open source (bukan software gratis); sekelompok organisasi dengan kebutuhan bersama telah mengumpulkan resource untuk berkolaborasi dalam satu implementasi produk bersama. Pertama dan terpenting, filosofi Android bersifat pragmatis. Tujuan adalah produk bersama yang dapat disesuaikan dan dipersonalisasi oleh setiap kontributor.
Tentu saja, penyesuaian yang tidak terkontrol dapat menyebabkan implementasi yang tidak kompatibel. Untuk mencegah inkompatibilitas, Project Open Source Android (AOSP) mengelola program Kompatibilitas Android, yang menjelaskan definisi kompatibel dengan Android dan apa yang diperlukan builder 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 dibuat anggota OHA di sekitar Android, pembuat perangkat harus berpartisipasi dalam program Kompatibilitas Android.
AOSP dipimpin oleh Google, yang mengelola dan mengembangkan Android lebih lanjut. Meskipun Android terdiri dari beberapa subproject, AOSP sepenuhnya merupakan manajemen project. 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 port Android ke perangkat; mereka tidak menerapkan spesifikasi atau menyeleksi distribusi.
Apa 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 (FAQ) AOSP.