Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Membangun lingkungan bangunan

Bagian ini menjelaskan cara menyiapkan lingkungan kerja lokal Anda untuk membuat file sumber Android. Anda harus menggunakan Linux; membangun di bawah MacOS atau Windows tidak didukung. Ingatlah juga perubahan penting pada biner /usr/bin/python .

Untuk ikhtisar tentang seluruh proses peninjauan kode dan pembaruan kode, lihat Masa pakai tambalan .

Memilih cabang

Beberapa persyaratan untuk lingkungan build ditentukan oleh versi kode sumber yang ingin Anda kompilasi. Untuk daftar lengkap cabang yang tersedia, lihat Build Numbers . Anda juga dapat memilih untuk mengunduh dan membuat kode sumber terbaru (disebut master ), dalam hal ini Anda cukup menghilangkan spesifikasi cabang saat menginisialisasi repositori.

Setelah memilih cabang, ikuti petunjuk yang sesuai di bawah ini untuk menyiapkan lingkungan build Anda.

Menyiapkan lingkungan build Linux

Instruksi ini berlaku untuk semua cabang, termasuk master .

Android build secara rutin diuji secara internal di Ubuntu LTS (14.04) dan pengujian Debian. Sebagian besar distribusi lain harus memiliki alat pembuatan yang diperlukan.

Untuk Gingerbread (2.3.x) dan versi yang lebih tinggi, termasuk cabang master , diperlukan lingkungan 64-bit. Versi yang lebih lama dapat dikompilasi pada sistem 32-bit.

Menginstal paket yang diperlukan (Ubuntu 18.04 dan lebih tinggi)

Anda memerlukan Ubuntu versi 64-bit.

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

Menginstal paket yang diperlukan (Ubuntu 14.04)

Anda memerlukan Ubuntu versi 64-bit (disarankan 14,04).

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

Menginstal paket yang diperlukan (Ubuntu 12.04)

Anda dapat menggunakan Ubuntu 12.04 untuk membuat versi Android yang lebih lama. Versi 12.04 tidak didukung pada master atau rilis terbaru.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Menginstal paket yang diperlukan (Ubuntu 10.04-11.10)

Pembuatan di Ubuntu 10.04-11.10 tidak lagi didukung, tetapi mungkin berguna untuk membuat rilis AOSP yang lebih lama.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc

Di Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Di Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

Mengonfigurasi akses USB

Instal kumpulan aturan udev default yang dikelola komunitas untuk semua perangkat Android dengan mengikuti petunjuk Menyiapkan perangkat untuk pengembangan .

Menggunakan direktori keluaran terpisah

Secara default, output dari setiap build disimpan di subdirektori out/ dari pohon sumber yang cocok. Anda dapat menimpanya dengan mengekspor variabel lingkungan OUT_DIR . Misalnya:

export OUT_DIR=out_mytarget

Ini akan menyebabkan output build disimpan di subdirektori out_mytarget/ dari pohon sumber. Saat menggunakan pohon sumber yang sama untuk membangun beberapa target, disarankan untuk menggunakan OUT_DIR terpisah untuk setiap target.

Pada beberapa mesin dengan beberapa perangkat penyimpanan, build lebih cepat saat menyimpan file sumber dan output pada volume terpisah. Untuk performa tambahan, output dapat disimpan pada sistem file yang dioptimalkan untuk kecepatan, bukan kekokohan crash, karena semua file dapat dibuat ulang jika sistem file rusak.

Untuk menyiapkan ini, ekspor variabel OUT_DIR_COMMON_BASE untuk menunjuk ke lokasi penyimpanan direktori keluaran Anda.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

Direktori keluaran untuk setiap pohon sumber terpisah diberi nama setelah direktori yang menyimpan pohon sumber. Misalnya, jika Anda memiliki pohon sumber /source/master1 dan /source/master2 dan jika OUT_DIR_COMMON_BASE diatur ke /output , direktori keluarannya adalah /output/master1 dan /output/master2 .

Hindari memiliki banyak pohon sumber yang disimpan dalam direktori yang memiliki nama yang sama, karena pohon sumber pada akhirnya akan berbagi direktori keluaran, dengan hasil yang tidak dapat diprediksi. Ini hanya didukung pada Jelly Bean (4.1) dan lebih tinggi, termasuk cabang master .

Selanjutnya: Unduh sumbernya

Lingkungan build Anda siap digunakan! Lanjutkan untuk mengunduh sumbernya .