Melakukan penyiapan untuk pengembangan AOSP (9.0 atau yang lebih baru)

Sebelum mendownload dan mem-build cabang main dari sumber Android, pastikan hardware Anda memenuhi persyaratan yang diperlukan dan software yang diperlukan sudah diinstal dengan benar. Anda juga harus terbiasa dengan istilah berikut:

Git
Git adalah sistem kontrol versi terdistribusi gratis dan open source. Android menggunakan Git untuk operasi lokal seperti percabangan, commit, perbedaan, dan pengeditan. Untuk mendapatkan bantuan dalam mempelajari Git, lihat dokumentasi Git.
Repo
Repo adalah wrapper Python di sekitar Git yang menyederhanakan pelaksanaan operasi kompleks di beberapa repositori Git. Repo tidak menggantikan Git untuk semua operasi kontrol versi, tetapi hanya membuat operasi Git yang kompleks lebih mudah diselesaikan. Repo menggunakan file manifes untuk menggabungkan project Git ke dalam superproject Android.
File manifes
File manifes adalah file XML yang menentukan lokasi berbagai project Git di sumber Android dalam hierarki sumber AOSP.

Memenuhi persyaratan hardware

Workstation pengembangan Anda harus memenuhi atau melebihi persyaratan hardware berikut:

  • Sistem 64-bit.

  • Minimal 400 GB ruang disk kosong untuk check out dan membangun kode (250 GB untuk check out + 150 GB untuk build).

  • RAM minimum 64 GB. Google menggunakan mesin 72 core dengan RAM 64 GB untuk membangun Android. Dengan konfigurasi hardware ini, build penuh Android memerlukan waktu sekitar 40 menit dan hanya beberapa menit untuk build inkremental Android. Sebaliknya, diperlukan waktu sekitar 6 jam untuk build penuh dengan mesin 6 core dengan RAM 64 GB.

Memenuhi persyaratan sistem operasi

Workstation pengembangan Anda harus menjalankan distribusi Linux 64-bit dengan GNU C Library (glibc) 2.17 atau yang lebih baru.

Instal paket yang diperlukan

Untuk membangun Android 11 atau yang lebih tinggi, Anda harus menggunakan Ubuntu 18.04 atau yang lebih baru. Untuk menginstal paket yang diperlukan untuk Ubuntu 18.04 atau yang lebih baru, jalankan perintah berikut:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Di antara paket yang diinstal, perintah ini menginstal Git, yang digunakan untuk mendownload sumber AOSP.

Instal software yang diperlukan

Sebelum dapat menggunakan AOSP, Anda harus sudah menginstal OpenJDK, Make, Python 3, dan Repo. Cabang utama AOSP dari Android dilengkapi dengan versi bawaan OpenJDK, Make, dan Python 3, sehingga langkah penginstalan tambahan tidak diperlukan. Bagian berikut menjelaskan cara menginstal Repo.

Instal Repo

Ikuti langkah-langkah berikut untuk menginstal Repo:

  1. Download informasi paket terbaru:

    sudo apt-get update
    
  2. Jalankan perintah berikut untuk menginstal peluncur Repo:

    sudo apt-get install repo
    

    Peluncur Repo menyediakan skrip Python yang menginisialisasi checkout dan mendownload alat Repo lengkap.

    Jika berhasil, lanjutkan ke langkah 4.

  3. (opsional) Instal Repo secara manual menggunakan rangkaian perintah berikut:

    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    

    Tiga perintah pertama menyiapkan file temp, mendownload Repo ke file, dan memverifikasi bahwa kunci yang diberikan cocok dengan kunci yang diperlukan. Jika perintah ini berhasil, perintah akhir akan menginstal peluncur Repo.

  4. Verifikasi versi peluncur Repo:

    repo version
    

    Output harus menunjukkan versi 2.5 atau yang lebih tinggi, misalnya:

    repo launcher version 2.40

Menetapkan direktori output alternatif

Secara default, output dari setiap build disimpan dalam subdirektori out/ dari hierarki sumber yang cocok. Anda dapat mengganti direktori ini dengan mengekspor variabel lingkungan OUT_DIR. Misalnya, jika ingin menyimpan output di drive lain, Anda dapat mengarahkan OUT_DIR ke drive tersebut:

export OUT_DIR=my_other_drive

Apa selanjutnya?