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 kini hanya dapat dibaca.
Di mana saya harus mengusulkan perubahan pada AOSP?
Anda harus mengusulkan perubahan baru ke 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 manifes
android-latest-release
.
Lihat Melakukan inisialisasi 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 akan mendorong kode untuk rilis berikutnya ke cabang rilis publik terbaru
dan memperbarui manifes android-latest-release
agar 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 memilih perubahan tersebut 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 dari saat perubahan diusulkan oleh kontributor eksternal hingga saat perubahan digabungkan ke cabang 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 akan meninjau perubahan tersebut. Jika perubahannya:
Jika diterima, Google akan memilih perubahan tersebut dan menggabungkannya ke dalam branch pengembangan internal.
Ditolak, Google tidak memilih-milih perubahan.
Kontributor eksternal memeriksa perubahannya di
android-latest-release
.
Bagaimana jika saya tidak memerlukan lagi perubahan yang saya usulkan?
Jika Anda tidak lagi memerlukan perubahan yang diusulkan, tidak ingin perubahan digabungkan, atau mengetahui bahwa Google telah meninjau perubahan, batalkan perubahan sehingga 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 akan selalu ada platform terbuka yang dapat digunakan oleh operator, OEM, dan developer untuk mewujudkan ide-ide inovatif mereka. Kami juga ingin menghindari titik kegagalan pusat, sehingga tidak ada pemain industri yang dapat membatasi atau mengontrol inovasi dari pemain lain. Satu-satunya tujuan kami yang paling penting dengan AOSP adalah memastikan bahwa software Android open source diterapkan seluas dan sekompatibel mungkin, untuk manfaat semua orang.
Apa jenis project open source Android?
Google mengawasi pengembangan AOSP inti dan berupaya menciptakan komunitas developer dan pengguna yang andal. 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 yang luas. Untuk mengetahui detailnya, lihat Lisensi.
Mengapa Google yang bertanggung jawab atas Android?
Meluncurkan platform software merupakan hal yang kompleks. Keterbukaan sangat penting untuk kesuksesan platform jangka panjang, karena keterbukaan menarik investasi dari developer dan memastikan persaingan yang adil. Platform ini juga harus menjadi produk yang menarik bagi pengguna.
Google telah menyediakan resource 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 berhasil dipasarkan.
Dengan memastikan Android berhasil di kalangan pengguna, kami membantu memastikan vitalitas Android sebagai platform dan sebagai project open source. Lagi pula, siapa yang menginginkan kode sumber untuk 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 kebutuhan mereka sendiri.
Apa strategi keseluruhan Google untuk pengembangan produk Android?
Kami merilis perangkat yang bagus ke pasar yang kompetitif. Kemudian, kami menggabungkan inovasi dan peningkatan yang kami buat ke dalam platform inti sebagai versi berikutnya.
Dalam praktiknya, ini berarti bahwa tim engineer 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 luas, yang akan mengikutinya dengan 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
dalam hierarki open source. Cabang terbaru dianggap sebagai versi cabang
stabil saat ini, yang dituju oleh manifes android-latest-release
.
Ini adalah cabang yang di-port oleh produsen ke
perangkat mereka. Cabang ini selalu sesuai untuk rilis.
Terakhir, Google mengerjakan platform Android versi berikutnya secara bersamaan dengan mengembangkan perangkat unggulan.
Mengapa bagian Android dikembangkan secara pribadi?
Biasanya perlu waktu lebih dari satu tahun untuk meluncurkan perangkat ke pasar. Dan, tentunya, produsen perangkat ingin mengirimkan software terbaru yang mereka miliki. 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 dari versi Android 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 melacak pekerjaan mendatang yang belum selesai hanya untuk mengikuti perkembangan.
Kapan rilis kode sumber dilakukan?
Jika sudah siap. Merilis kode sumber adalah proses yang cukup kompleks. Beberapa bagian Android, seperti kernel, dikembangkan secara terbuka, dan kode sumber tersebut selalu tersedia. Bagian lain dikembangkan terlebih dahulu di hierarki pribadi, dan kode sumber tersebut dirilis saat versi platform berikutnya siap.
Dalam beberapa rilis, API platform inti sudah siap jauh-jauh hari sehingga kami dapat mendorong kode sumber untuk tampilan awal sebelum rilis perangkat. Dalam rilis lain, hal ini tidak mungkin. Dalam semua kasus, kami merilis sumber platform saat kami merasa bahwa versinya stabil, dan jika proses pengembangan memungkinkan.
Apa yang terlibat dalam merilis kode sumber untuk versi Android baru?
Merilis kode sumber untuk platform Android versi baru adalah proses yang signifikan. Pertama, software dibuat ke dalam image sistem untuk perangkat dan melalui 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.
Saat rilis disetujui oleh regulator dan operator, produsen akan mulai memproduksi perangkat secara massal, dan kami akan mulai merilis kode sumber.
Bersamaan dengan produksi massal, tim Google memulai beberapa upaya untuk menyiapkan rilis open source. Upaya ini mencakup membuat perubahan API akhir, memperbarui dokumentasi (misalnya, untuk mencerminkan modifikasi apa pun 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 dalam open source. Sama seperti kontributor open source yang diwajibkan untuk menandatangani Perjanjian Lisensi Kontributor yang membuktikan kepemilikan kekayaan intelektual mereka atas kontribusi mereka, Google harus memverifikasi bahwa sumber tersebut diizinkan untuk memberikan kontribusi.
Sejak produksi massal dimulai, proses rilis software biasanya memerlukan waktu sekitar satu bulan, sehingga rilis kode sumber sering kali terjadi pada waktu yang hampir bersamaan dengan perangkat yang menjangkau pengguna.
Bagaimana hubungan AOSP dengan Program Kompatibilitas Android?
AOSP mengelola 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 menentukan implementasi 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 semua penggunaan kode sumber Android, tetapi untuk berpartisipasi dalam ekosistem Android, perangkat harus diidentifikasi sebagai kompatibel dengan Android oleh program.
Bagaimana cara berkontribusi pada Android?
Anda dapat melaporkan bug, menulis aplikasi untuk Android, atau berkontribusi pada kode sumber AOSP.
Ada batasan 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 bagi Anda yang tertarik untuk berkontribusi pada kode sumber, hubungi kami melalui saluran yang tercantum di Komunitas Android sebelum memulai pekerjaan apa pun. Untuk mengetahui detailnya, lihat Berkontribusi.
Bagaimana cara menjadi committer Android?
AOSP tidak benar-benar memiliki konsep committer. Semua kontribusi (termasuk yang ditulis oleh karyawan Google) akan melalui sistem berbasis web yang dikenal sebagai Gerrit yang merupakan bagian dari proses engineering Android. Sistem ini berfungsi bersama dengan sistem pengelolaan kode sumber Git untuk mengelola kontribusi kode sumber dengan rapi.
Pengesah 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 kiriman, terlepas dari asalnya.
Untuk mengetahui detailnya, lihat Mengirim patch.