Dokumen ini berisi jawaban atas pertanyaan umum tentang Platform Open Source Android (AOSP).
Tentang android-latest-release
Mengapa saya tidak dapat mengirimkan ke aosp-main?
Anda tidak dapat mengirimkan ke aosp-main
karena cabang tersebut sekarang bersifat hanya baca.
Di mana saya dapat menyarankan perubahan pada AOSP?
Anda harus mengusulkan perubahan baru pada android-latest-release
(saat menggunakan Repo) atau
ke cabang rilis terbaru yang ditentukan dalam manifes android-latest-release
(saat menggunakan Git secara langsung). Perubahan yang diusulkan yang ada di cabang lain (seperti
aosp-main
) tidak perlu dipindahkan.
Cabang mana yang harus saya sinkronkan?
Saat menggunakan Repo, sinkronkan ke
android-latest-release
menggunakan perintah berikut:repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifest
Saat menggunakan Git secara langsung, sinkronkan ke cabang revisi default yang ditentukan dalam
android-latest-release
manifest.
Lihat Menginisialisasi klien Repo untuk mengetahui detail selengkapnya tentang menyinkronkan cabang.
Apakah kode dari android-latest-release akan digabungkan ke aosp-main?
Tidak, kode tidak akan digabungkan ke aosp-main
, yang merupakan cabang hanya baca mulai
27 Maret 2025.
Di mana kode untuk rilis berikutnya di-push?
Google mengirimkan kode untuk rilis berikutnya ke cabang rilis publik terbaru
dan memperbarui android-latest-release
manifes untuk mengarah ke cabang tersebut.
Apakah permintaan perubahan saya akan dipilih dari cabang android-latest-release ke Gerrit internal?
Setelah Anda mengupload perubahan yang diusulkan, Google akan meninjaunya dan, jika diterima, akan memilihnya ke Gerrit internal.
Bagaimana cara mengetahui apakah permintaan perubahan saya diterima?
Perubahan yang diterima dan dipilih akan muncul dalam push mendatang ke cabang rilis di
host Android dan dapat disinkronkan dengan repo menggunakan android-latest-release
.
Tidak ada mekanisme notifikasi saat perubahan yang diusulkan diterima atau ditolak.
Apa alur kerja umum sejak perubahan diusulkan oleh kontributor eksternal hingga digabungkan ke branch rilis terbaru?
Kontributor eksternal mengusulkan perubahan pada
android-latest-release
(saat menggunakan Repo) atau pada cabang rilis terbaru yang ditentukan dalam manifesandroid-latest-release
(saat menggunakan Git secara langsung).Google meninjau perubahan tersebut. Jika perubahannya adalah:
Diterima, Google akan memilih perubahan tersebut dan menggabungkannya ke cabang pengembangan internal.
Tidak diterima, Google tidak memilih-milih perubahan.
Kontributor eksternal memeriksa perubahannya di
android-latest-release
.
Bagaimana jika saya tidak memerlukan perubahan yang diusulkan lagi?
Jika Anda tidak lagi memerlukan perubahan yang diusulkan, tidak ingin perubahan digabungkan, atau mengetahui bahwa Google telah meninjau perubahan, batalkan perubahan agar tetap berada di histori perubahan yang diusulkan di host Android.
Pertanyaan open source
Mengapa Google membuka kode sumber Android?
Google memulai AOSP sebagai respons terhadap pengalaman kami sendiri dalam meluncurkan aplikasi seluler. Kami ingin memastikan bahwa selalu ada platform terbuka yang tersedia bagi operator, OEM, dan developer untuk digunakan dalam mewujudkan ide-ide inovatif mereka. Kami juga ingin menghindari titik kegagalan terpusat, sehingga tidak ada satu pun pemain industri yang dapat membatasi atau mengontrol inovasi pemain lainnya. Satu-satunya tujuan terpenting kami dengan AOSP adalah memastikan bahwa software Android open source diimplementasikan seluas dan sekompatibel mungkin, untuk kepentingan semua orang.
Apa jenis project open source Android?
Google mengawasi pengembangan AOSP inti dan berupaya menciptakan komunitas developer dan pengguna yang kuat. Sebagian besar kode sumber Android dilisensikan berdasarkan Lisensi Apache 2.0 yang permisif, bukan lisensi copyleft. Kami memilih lisensi Apache 2.0 karena kami yakin bahwa lisensi ini mendorong adopsi software Android secara luas. Untuk mengetahui detailnya, lihat Lisensi.
Mengapa Google bertanggung jawab atas Android?
Meluncurkan platform software itu kompleks. Keterbukaan sangat penting bagi kesuksesan jangka panjang sebuah platform, karena keterbukaan menarik investasi dari developer dan memastikan persaingan yang adil. Platform juga harus menjadi produk yang menarik bagi pengguna.
Google telah berkomitmen untuk menyediakan sumber daya engineering profesional yang diperlukan untuk memastikan bahwa Android adalah platform software yang sepenuhnya kompetitif. Google memperlakukan project Android sebagai operasi pengembangan produk skala penuh dan membuat kesepakatan bisnis yang diperlukan untuk memastikan perangkat hebat yang menjalankan Android dapat dipasarkan.
Dengan memastikan Android sukses di kalangan pengguna, kami membantu memastikan vitalitas Android sebagai platform dan sebagai project open source. Lagi pula, siapa yang menginginkan kode sumber produk yang tidak berhasil?
Sasaran kami adalah memastikan ekosistem yang sukses di sekitar Android. Kami membuka kode sumber Android agar siapa pun dapat memodifikasi dan mendistribusikan software untuk memenuhi kebutuhannya sendiri.
Apa strategi keseluruhan Google untuk pengembangan produk Android?
Kami merilis perangkat hebat ke marketplace yang kompetitif. Kemudian, kami menggabungkan inovasi dan peningkatan yang kami lakukan ke dalam platform inti sebagai versi berikutnya.
Dalam praktiknya, ini berarti tim engineering Android berfokus pada sejumlah kecil perangkat "unggulan" dan mengembangkan software Android versi berikutnya untuk mendukung peluncuran produk tersebut. Perangkat unggulan ini menyerap sebagian besar risiko produk dan membuka jalan bagi komunitas OEM yang lebih luas, yang kemudian meluncurkan lebih banyak perangkat yang memanfaatkan fitur baru tersebut. Dengan cara ini, kami memastikan bahwa platform Android berkembang sesuai dengan kebutuhan perangkat di dunia nyata.
Bagaimana software Android dikembangkan?
Setiap versi platform Android (seperti 1.5 atau 8.1) memiliki cabang yang sesuai
di hierarki open source. Cabang terbaru dianggap sebagai versi cabang stabil saat ini, yang ditunjukkan oleh manifes android-latest-release
.
Ini adalah cabang yang di-porting produsen ke perangkat mereka. Cabang ini selalu disesuaikan untuk rilis.
Terakhir, Google mengerjakan platform Android versi berikutnya secara bersamaan dengan mengembangkan perangkat unggulan.
Mengapa sebagian Android dikembangkan secara pribadi?
Biasanya diperlukan waktu lebih dari setahun untuk meluncurkan perangkat ke pasar. Dan, tentu saja, produsen perangkat ingin mengirimkan software terbaru yang tersedia. Sementara itu, developer tidak ingin terus melacak versi baru platform saat menulis aplikasi. Kedua kelompok mengalami ketegangan antara pengiriman produk dan tidak ingin tertinggal.
Untuk mengatasi hal ini, beberapa bagian Android versi berikutnya, termasuk API platform inti, dikembangkan di cabang pribadi. API ini merupakan versi Android berikutnya. Tujuan kami adalah memfokuskan perhatian pada kode sumber Android versi stabil saat ini saat kami membuat platform versi berikutnya. Hal ini memungkinkan developer dan OEM menggunakan satu versi tanpa melacak pekerjaan mendatang yang belum selesai hanya untuk terus mengikuti perkembangan.
Kapan rilis kode sumber dilakukan?
Saat mereka siap. Merilis kode sumber adalah proses yang cukup rumit. Beberapa bagian Android, seperti kernel, dikembangkan secara terbuka, dan kode sumber tersebut selalu tersedia. Bagian lain dikembangkan terlebih dahulu di struktur pribadi, dan kode sumber tersebut dirilis saat versi platform berikutnya siap.
Dalam beberapa rilis, API platform inti sudah siap jauh sebelumnya sehingga kita dapat mengirimkan kode sumber untuk dilihat lebih awal sebelum perangkat dirilis. Di rilis lain, hal ini tidak mungkin dilakukan. Dalam semua kasus, kami merilis kode sumber platform saat kami merasa bahwa versi tersebut stabil, dan saat proses pengembangan memungkinkan.
Apa saja yang terlibat dalam merilis kode sumber untuk versi Android baru?
Merilis kode sumber untuk platform Android versi baru adalah proses yang signifikan. Pertama, software ini dibangun ke dalam image sistem untuk perangkat dan menjalani berbagai bentuk sertifikasi, termasuk sertifikasi peraturan pemerintah untuk wilayah tempat ponsel akan di-deploy. Kode ini juga melalui pengujian operator. Ini adalah fase penting dalam proses, karena membantu mendeteksi bug software.
Setelah rilis disetujui oleh badan pengatur dan operator, produsen mulai memproduksi perangkat secara massal, dan kami mulai merilis kode sumber.
Bersamaan dengan produksi massal, tim Google memulai beberapa upaya untuk menyiapkan rilis open source. Upaya ini mencakup melakukan perubahan API akhir, memperbarui dokumentasi (misalnya, untuk mencerminkan modifikasi yang dilakukan selama pengujian kualifikasi), menyiapkan SDK untuk versi baru, dan meluncurkan informasi kompatibilitas platform.
Tim hukum kami melakukan persetujuan akhir untuk merilis kode ke open source. Sama seperti kontributor open source yang diwajibkan menandatangani Perjanjian Lisensi Kontributor yang menyatakan kepemilikan kekayaan intelektual atas kontribusi mereka, Google harus memverifikasi bahwa sumber tersebut diizinkan untuk memberikan kontribusi.
Sejak produksi massal dimulai, proses rilis software biasanya memakan waktu sekitar satu bulan, sehingga rilis kode sumber sering terjadi sekitar waktu yang sama saat perangkat sampai ke tangan pengguna.
Bagaimana hubungan AOSP dengan Program Kompatibilitas Android?
AOSP memelihara software Android, dan mengembangkan versi baru. Karena bersifat open source, software ini dapat digunakan untuk tujuan apa pun, termasuk mengembangkan perangkat yang tidak kompatibel dengan perangkat lain berdasarkan sumber yang sama.
Fungsi Program Kompatibilitas Android adalah untuk menentukan penerapan dasar Android yang kompatibel dengan aplikasi pihak ketiga yang ditulis oleh developer. Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android, termasuk Google Play; perangkat yang tidak memenuhi persyaratan kompatibilitas berada di luar ekosistem tersebut.
Dengan kata lain, Program Kompatibilitas Android adalah cara kami memisahkan perangkat yang kompatibel dengan Android dari perangkat yang hanya menjalankan turunan kode sumber. Kami menyambut baik semua penggunaan kode sumber Android, tetapi untuk berpartisipasi dalam ekosistem Android, perangkat harus diidentifikasi sebagai kompatibel dengan Android oleh program.
Bagaimana cara berkontribusi ke Android?
Anda dapat melaporkan bug, menulis aplikasi untuk Android, atau berkontribusi kode sumber ke AOSP.
Ada batasan pada jenis kontribusi kode yang kami terima. Misalnya, seseorang mungkin ingin memberikan kontribusi API aplikasi alternatif, seperti lingkungan berbasis C++ lengkap. Kami akan menolak kontribusi tersebut, karena Android mendorong aplikasi untuk dijalankan di runtime ART. Demikian pula, kami tidak akan menerima kontribusi seperti library GPL atau LGPL yang tidak kompatibel dengan sasaran pemberian lisensi kami.
Sebaiknya pihak yang tertarik untuk berkontribusi pada kode sumber menghubungi kami melalui saluran yang tercantum di Komunitas Android sebelum memulai pekerjaan apa pun. Untuk mengetahui detailnya, lihat Berkontribusi.
Bagaimana cara menjadi committer Android?
AOSP sebenarnya tidak memiliki gagasan tentang committer. Semua kontribusi (termasuk yang ditulis oleh karyawan Google) diproses melalui sistem berbasis web yang dikenal sebagai Gerrit yang merupakan bagian dari proses engineering Android. Sistem ini bekerja bersama dengan sistem pengelolaan kode sumber Git untuk mengelola kontribusi kode sumber secara bersih.
Penyetuju yang ditunjuk harus meninjau dan menyetujui semua perubahan yang diusulkan. Pemberi persetujuan biasanya adalah karyawan Google, tetapi pemberi persetujuan yang sama bertanggung jawab atas semua pengiriman, terlepas dari asalnya.
Untuk mengetahui detailnya, lihat Mengirimkan patch.