Ikhtisar AOSP, Ikhtisar AOSP

Android adalah sistem operasi untuk beragam perangkat dengan faktor bentuk berbeda. Dokumentasi dan kode sumber untuk Android tersedia bagi siapa saja sebagai Android Open Source Project (AOSP) . Anda dapat menggunakan AOSP untuk membuat varian khusus OS Android untuk perangkat Anda sendiri.

AOSP dirancang sedemikian rupa sehingga tidak ada titik pusat kegagalan, di mana satu pelaku industri membatasi atau mengendalikan inovasi pelaku industri lainnya. Oleh karena itu, AOSP adalah produk pengembang berkualitas produksi penuh dengan kode sumber terbuka untuk penyesuaian dan porting.

Bagian dokumentasi ini membantu pengembang AOSP baru untuk memulai dengan platform dan melakukan tugas pengembangan penting.

Persyaratan yang diperlukan

Berikut adalah daftar istilah dan definisi yang digunakan dalam dokumentasi permulaan ini. Anda harus mempelajari setiap definisi sebelum melanjutkan lebih jauh.

Pengembang aplikasi Android

Pengembang aplikasi Android menulis aplikasi Android atau aplikasi yang berjalan di Android. Ada dua klasifikasi pengembang aplikasi: pengembang aplikasi pihak pertama (1p) dan pihak ketiga (3p).

Pengembang aplikasi Android 1p
Pengembang aplikasi Android yang memiliki akses ke API Sistem AOSP dan menulis aplikasi dengan hak istimewa dan produsen perangkat.
Pengembang aplikasi Android 3p
Pengembang aplikasi Android yang hanya menggunakan SDK publik Android untuk membuat aplikasi Android.

Jika Anda ingin mengembangkan aplikasi 3p untuk Android, lihat developers.android.com . Informasi di situs ini hanya diperuntukkan bagi mereka yang bekerja langsung dengan AOSP.

Jembatan debug Android (ADB)
Alat baris perintah ( adb ) yang memungkinkan stasiun kerja Anda berkomunikasi dengan perangkat virtual, yang ditiru perangkat lunak, atau fisik.
Perangkat yang kompatibel dengan Android
Perangkat yang dapat menjalankan aplikasi pihak ketiga apa pun yang dibuat oleh pengembang pihak ketiga menggunakan Android SDK dan NDK. Perangkat yang kompatibel dengan Android harus mematuhi persyaratan Dokumen Definisi Kompatibilitas (CDD) dan lulus Rangkaian Uji Kompatibilitas (CTS) . Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android yang mencakup potensi lisensi Android Play Store, potensi lisensi rangkaian aplikasi dan API Layanan Seluler Google (GMS) , dan penggunaan merek dagang Android. Siapa pun boleh menggunakan kode sumber Android, namun untuk dianggap sebagai bagian dari ekosistem Android, perangkat harus kompatibel dengan Android. Untuk informasi lebih lanjut tentang kompatibilitas dan CTS, lihat ikhtisar Program Kompatibilitas Android
Pemberi persetujuan
Anggota komunitas AOSP berpengalaman yang telah memberikan kontribusi teknis dan desain signifikan pada platform. Dalam proses peninjauan kode, pemberi persetujuan memutuskan apakah akan menyertakan perubahan. Pimpinan proyek (yang biasanya dipekerjakan oleh Google) memilih pemberi persetujuan, terkadang mempromosikan verifikator ke posisi pemberi persetujuan ketika mereka menunjukkan keahlian pada bagian tertentu dari AOSP.
Dokumen Definisi Kompatibilitas (CDD)
Dokumen yang menyebutkan persyaratan perangkat lunak dan perangkat keras untuk perangkat yang kompatibel dengan Android.
Penyumbang

Seseorang yang juga memberikan kontribusi pada kode sumber AOSP. Kontributor dapat berupa karyawan Google, karyawan dari perusahaan lain, dan individu yang tidak memiliki afiliasi perusahaan. Setiap kontributor AOSP menggunakan alat yang sama, mengikuti proses peninjauan kode yang sama, dan mengikuti gaya pengkodean yang sama. Anda tidak perlu menjadi kontributor untuk menggunakan AOSP; Anda dapat mengunduh AOSP, memodifikasinya sesuai kebutuhan Anda, dan menerapkannya di perangkat tanpa menyumbangkan kode untuk digunakan orang lain.

Ada batasan pada jenis kontribusi kode yang diterima Google. Misalnya, Anda mungkin ingin menyumbangkan API aplikasi alternatif, seperti lingkungan berbasis C++ lengkap. Google akan menolak kontribusi tersebut karena Android mendorong aplikasi untuk dijalankan dalam runtime ART. Demikian pula, Google tidak menerima kontribusi seperti perpustakaan GPL atau LGPL yang tidak sesuai dengan tujuan pemberian lisensi.

Jika Anda tertarik untuk menyumbangkan kode sumber, hubungi Google sebelum mulai bekerja.

Rangkaian Uji Kompatibilitas (CTS)

Rangkaian pengujian tingkat komersial gratis, tersedia untuk diunduh 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 mengungkap ketidakcocokan, dan memastikan bahwa perangkat lunak tetap kompatibel selama proses pengembangan.

Sotong

Perangkat virtual bertenaga Android yang dapat dikonfigurasi dan dapat berjalan dari jarak jauh, menggunakan penawaran cloud pihak ketiga, seperti Google Cloud Engine, dan secara lokal di mesin Linux x86.

Pengembang

Dalam konteks AOSP, pengembang adalah siapa saja yang bekerja dengan AOSP dengan cara apa pun. Istilah "pengembang" digunakan untuk merujuk secara umum pada berbagai orang yang mungkin membaca dokumentasi ini, seperti produsen peralatan asli (OEM), pembuat ponsel, operator, dan pembuat System-on-a-Chip (SoC).

Layanan Google Seluler (RUPS)

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_phone-userdebug mewakili ponsel x86 65MB dengan informasi debug yang dirancang untuk dijalankan pada emulator sotong.

Pemverifikasi

Kontributor berharga di komunitas Android yang mengunduh dan memverifikasi perubahan pada AOSP. Setelah Anda mengirimkan sejumlah besar kode berkualitas tinggi ke AOSP, pimpinan proyek mungkin mengundang Anda untuk menjadi verifikator.

Filsafat pemerintahan

Sekelompok perusahaan yang dikenal sebagai Open Handset Alliance (OHA), dipimpin oleh Google, mendirikan Android. Saat ini, banyak perusahaan—baik anggota asli OHA maupun lainnya—telah berinvestasi besar-besaran di Android. Perusahaan-perusahaan ini telah mengalokasikan sumber daya teknik yang signifikan untuk meningkatkan Android dan memasarkan perangkat Android.

Perusahaan-perusahaan yang berinvestasi di Android melakukan hal ini karena mereka percaya bahwa platform terbuka diperlukan. Android secara sengaja dan eksplisit merupakan upaya sumber terbuka (berlawanan dengan perangkat lunak bebas); sekelompok organisasi dengan kebutuhan bersama telah mengumpulkan sumber daya untuk berkolaborasi dalam satu implementasi produk bersama. Pertama dan terpenting, filosofi Android bersifat pragmatis. Tujuannya adalah produk bersama yang dapat disesuaikan dan disesuaikan oleh setiap kontributor.

Tentu saja, penyesuaian yang tidak terkontrol dapat menyebabkan penerapan yang tidak kompatibel. Untuk mencegah ketidakcocokan, Proyek Sumber Terbuka Android (AOSP) mengelola program Kompatibilitas Android , yang menjelaskan apa artinya kompatibel dengan Android dan apa yang diperlukan pembuat 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 mengambil bagian dalam ekosistem bersama aplikasi yang dibangun oleh anggota OHA seputar 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 subproyek, AOSP sepenuhnya merupakan manajemen proyek. Google memandang dan mengelola Android sebagai produk perangkat lunak tunggal yang holistik, bukan distribusi, spesifikasi, atau kumpulan komponen yang dapat diganti. Tujuan Google adalah agar pembuat perangkat mem-porting Android ke suatu perangkat; mereka tidak menerapkan spesifikasi atau menyusun distribusi.

Apa berikutnya?

  • Jika Anda baru mengenal AOSP dan ingin mengikuti 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 mengetahui latar belakang AOSP, termasuk partisipasi Google dalam platform ini, lihat Pertanyaan Umum (FAQ) AOSP .

,

Android adalah sistem operasi untuk beragam perangkat dengan faktor bentuk berbeda. Dokumentasi dan kode sumber untuk Android tersedia bagi siapa saja sebagai Android Open Source Project (AOSP) . Anda dapat menggunakan AOSP untuk membuat varian khusus OS Android untuk perangkat Anda sendiri.

AOSP dirancang sedemikian rupa sehingga tidak ada titik pusat kegagalan, di mana satu pelaku industri membatasi atau mengendalikan inovasi pelaku industri lainnya. Oleh karena itu, AOSP adalah produk pengembang berkualitas produksi penuh dengan kode sumber terbuka untuk penyesuaian dan porting.

Bagian dokumentasi ini membantu pengembang AOSP baru untuk memulai dengan platform dan melakukan tugas pengembangan penting.

Persyaratan yang diperlukan

Berikut adalah daftar istilah dan definisi yang digunakan dalam dokumentasi permulaan ini. Anda harus mempelajari setiap definisi sebelum melanjutkan lebih jauh.

Pengembang aplikasi Android

Pengembang aplikasi Android menulis aplikasi Android atau aplikasi yang berjalan di Android. Ada dua klasifikasi pengembang aplikasi: pengembang aplikasi pihak pertama (1p) dan pihak ketiga (3p).

Pengembang aplikasi Android 1p
Pengembang aplikasi Android yang memiliki akses ke API Sistem AOSP dan menulis aplikasi dengan hak istimewa dan produsen perangkat.
Pengembang aplikasi Android 3p
Pengembang aplikasi Android yang hanya menggunakan SDK publik Android untuk membuat aplikasi Android.

Jika Anda ingin mengembangkan aplikasi 3p untuk Android, lihat developers.android.com . Informasi di situs ini hanya diperuntukkan bagi mereka yang bekerja langsung dengan AOSP.

Jembatan debug Android (ADB)
Alat baris perintah ( adb ) yang memungkinkan stasiun kerja Anda berkomunikasi dengan perangkat virtual, yang ditiru perangkat lunak, atau fisik.
Perangkat yang kompatibel dengan Android
Perangkat yang dapat menjalankan aplikasi pihak ketiga apa pun yang dibuat oleh pengembang pihak ketiga menggunakan Android SDK dan NDK. Perangkat yang kompatibel dengan Android harus mematuhi persyaratan Dokumen Definisi Kompatibilitas (CDD) dan lulus Rangkaian Uji Kompatibilitas (CTS) . Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android yang mencakup potensi lisensi Android Play Store, potensi lisensi rangkaian aplikasi dan API Layanan Seluler Google (GMS) , dan penggunaan merek dagang Android. Siapa pun boleh menggunakan kode sumber Android, namun untuk dianggap sebagai bagian dari ekosistem Android, perangkat harus kompatibel dengan Android. Untuk informasi lebih lanjut tentang kompatibilitas dan CTS, lihat ikhtisar Program Kompatibilitas Android
Pemberi persetujuan
Anggota komunitas AOSP berpengalaman yang telah memberikan kontribusi teknis dan desain signifikan pada platform. Dalam proses peninjauan kode, pemberi persetujuan memutuskan apakah akan menyertakan perubahan. Pimpinan proyek (yang biasanya dipekerjakan oleh Google) memilih pemberi persetujuan, terkadang mempromosikan verifikator ke posisi pemberi persetujuan ketika mereka menunjukkan keahlian pada bagian tertentu dari AOSP.
Dokumen Definisi Kompatibilitas (CDD)
Dokumen yang menyebutkan persyaratan perangkat lunak dan perangkat keras untuk perangkat yang kompatibel dengan Android.
Penyumbang

Seseorang yang juga memberikan kontribusi pada kode sumber AOSP. Kontributor dapat berupa karyawan Google, karyawan dari perusahaan lain, dan individu yang tidak memiliki afiliasi perusahaan. Setiap kontributor AOSP menggunakan alat yang sama, mengikuti proses peninjauan kode yang sama, dan mengikuti gaya pengkodean yang sama. Anda tidak perlu menjadi kontributor untuk menggunakan AOSP; Anda dapat mengunduh AOSP, memodifikasinya sesuai kebutuhan Anda, dan menerapkannya di perangkat tanpa menyumbangkan kode untuk digunakan orang lain.

Ada batasan pada jenis kontribusi kode yang diterima Google. Misalnya, Anda mungkin ingin menyumbangkan API aplikasi alternatif, seperti lingkungan berbasis C++ lengkap. Google akan menolak kontribusi tersebut karena Android mendorong aplikasi untuk dijalankan dalam runtime ART. Demikian pula, Google tidak menerima kontribusi seperti perpustakaan GPL atau LGPL yang tidak sesuai dengan tujuan pemberian lisensi.

Jika Anda tertarik untuk menyumbangkan kode sumber, hubungi Google sebelum mulai bekerja.

Rangkaian Uji Kompatibilitas (CTS)

Rangkaian pengujian tingkat komersial gratis, tersedia untuk diunduh 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 mengungkap ketidakcocokan, dan memastikan bahwa perangkat lunak tetap kompatibel selama proses pengembangan.

Sotong

Perangkat virtual bertenaga Android yang dapat dikonfigurasi dan dapat berjalan dari jarak jauh, menggunakan penawaran cloud pihak ketiga, seperti Google Cloud Engine, dan secara lokal di mesin Linux x86.

Pengembang

Dalam konteks AOSP, pengembang adalah siapa saja yang bekerja dengan AOSP dengan cara apa pun. Istilah "pengembang" digunakan untuk merujuk secara umum pada berbagai orang yang mungkin membaca dokumentasi ini, seperti produsen peralatan asli (OEM), pembuat ponsel, operator, dan pembuat System-on-a-Chip (SoC).

Layanan Google Seluler (RUPS)

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_phone-userdebug mewakili ponsel x86 65MB dengan informasi debug yang dirancang untuk dijalankan pada emulator sotong.

Pemverifikasi

Kontributor berharga di komunitas Android yang mengunduh dan memverifikasi perubahan pada AOSP. Setelah Anda mengirimkan sejumlah besar kode berkualitas tinggi ke AOSP, pimpinan proyek mungkin mengundang Anda untuk menjadi verifikator.

Filsafat pemerintahan

Sekelompok perusahaan yang dikenal sebagai Open Handset Alliance (OHA), dipimpin oleh Google, mendirikan Android. Saat ini, banyak perusahaan—baik anggota asli OHA maupun lainnya—telah berinvestasi besar-besaran di Android. Perusahaan-perusahaan ini telah mengalokasikan sumber daya teknik yang signifikan untuk meningkatkan Android dan memasarkan perangkat Android.

Perusahaan-perusahaan yang berinvestasi di Android melakukan hal ini karena mereka percaya bahwa platform terbuka diperlukan. Android secara sengaja dan eksplisit merupakan upaya sumber terbuka (berlawanan dengan perangkat lunak bebas); sekelompok organisasi dengan kebutuhan bersama telah mengumpulkan sumber daya untuk berkolaborasi dalam satu implementasi produk bersama. Pertama dan terpenting, filosofi Android bersifat pragmatis. Tujuannya adalah produk bersama yang dapat disesuaikan dan disesuaikan oleh setiap kontributor.

Tentu saja, penyesuaian yang tidak terkontrol dapat menyebabkan penerapan yang tidak kompatibel. Untuk mencegah ketidakcocokan, Proyek Sumber Terbuka Android (AOSP) mengelola program Kompatibilitas Android , yang menjelaskan apa artinya kompatibel dengan Android dan apa yang diperlukan pembuat 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 mengambil bagian dalam ekosistem bersama aplikasi yang dibangun oleh anggota OHA seputar 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 subproyek, AOSP sepenuhnya merupakan manajemen proyek. Google memandang dan mengelola Android sebagai produk perangkat lunak tunggal yang holistik, bukan distribusi, spesifikasi, atau kumpulan komponen yang dapat diganti. Tujuan Google adalah agar pembuat perangkat mem-porting Android ke suatu perangkat; mereka tidak menerapkan spesifikasi atau mengatur distribusi.

Apa berikutnya?

  • Jika Anda baru mengenal AOSP dan ingin mengikuti 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 mengetahui latar belakang AOSP, termasuk partisipasi Google dalam platform ini, lihat Pertanyaan Umum (FAQ) AOSP .