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 revisi default yang ditentukan dalam manifes android-latest-release (saat menggunakan Git secara langsung). Perubahan yang diusulkan yang sudah ada di cabang lain
(seperti aosp-main) tidak perlu dipindahkan.
Untuk mengetahui informasi selengkapnya, lihat Mengupload perubahan untuk ditinjau.
Cabang mana yang harus saya sinkronkan?
Saat menggunakan Repo, sinkronkan ke
android-latest-releasemenggunakan perintah berikut:repo init --partial-clone --no-use-superproject -b android-latest-release -u https://android.googlesource.com/platform/manifestSaat menggunakan Git secara langsung, sinkronkan ke cabang revisi default yang ditentukan dalam
android-latest-releasemanifest.
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 saran perubahan, 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.
Bagaimana 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:
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 dalam 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 untuk digunakan oleh operator, OEM, dan developer untuk mewujudkan ide-ide inovatif mereka. Kami juga ingin menghindari titik kegagalan pusat, sehingga tidak ada satu pun pemain industri yang dapat membatasi atau mengontrol inovasi pemain lainnya. Satu-satunya tujuan terpenting kami dengan AOSP adalah memastikan 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 rumit. Keterbukaan sangat penting bagi kesuksesan platform dalam jangka panjang, karena keterbukaan menarik investasi dari developer dan memastikan persaingan yang adil. Platform juga harus menjadi produk yang menarik bagi pengguna.
Google telah mengalokasikan sumber daya teknik profesional yang diperlukan untuk memastikan bahwa Android adalah platform software yang sepenuhnya kompetitif. Google memperlakukan proyek 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 sehingga siapa pun dapat memodifikasi dan mendistribusikan software untuk memenuhi kebutuhannya sendiri.
Apa strategi keseluruhan Google untuk pengembangan produk Android?
Kami merilis perangkat hebat ke pasar yang kompetitif. Kemudian, kami menggabungkan inovasi dan peningkatan yang kami lakukan ke dalam platform inti sebagai versi berikutnya.
Pada 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. 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 dibuat agar sesuai 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 grup 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 versi stabil kode sumber Android saat ini saat kami membuat versi platform berikutnya. Hal ini memungkinkan developer dan OEM menggunakan satu versi tanpa harus 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 memublikasikan kode sumber untuk dilihat lebih awal sebelum perangkat dirilis. Pada rilis lainnya, 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 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 menjalani 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 kontribusinya, Google harus memverifikasi bahwa sumbernya 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 tidak termasuk dalam 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 memberikan kontribusi kode sumber ke AOSP.
Ada batasan pada jenis kontribusi kode yang kami terima. Misalnya, seseorang mungkin ingin berkontribusi pada 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 konsep committer. Semua kontribusi (termasuk yang ditulis oleh karyawan Google) melalui sistem berbasis web yang dikenal sebagai Gerrit yang merupakan bagian dari proses engineering Android. Sistem ini bekerja bersama dengan sistem manajemen kode sumber Git untuk mengelola kontribusi kode sumber secara bersih.
Pemberi persetujuan yang ditetapkan 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.