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

Membangun Lingkungan Bangun

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

Untuk gambaran dari seluruh proses kode-review dan kode-update, lihat Hidup Patch sebuah .

Memilih cabang

Beberapa persyaratan untuk lingkungan build ditentukan oleh versi kode sumber yang Anda rencanakan untuk dikompilasi. Untuk daftar lengkap cabang yang tersedia, lihat Bilangan Build . Anda juga dapat memilih untuk men-download dan membangun kode terbaru sumber (disebut master ), dalam hal ini Anda hanya menghilangkan spesifikasi cabang ketika Anda 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 .

Pembuatan Android secara rutin diuji secara internal pada Ubuntu LTS (14.04) dan pengujian Debian. Sebagian besar distribusi lain harus memiliki alat pembangunan yang diperlukan.

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

Menginstal paket yang diperlukan (Ubuntu 18.04)

Anda memerlukan Ubuntu versi 64-bit.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib 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 gcc-multilib g++-multilib 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 membangun versi Android yang lebih lama. Versi 12.04 tidak didukung pada master atau rilis baru-baru ini.

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 g++-multilib 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)

Membangun 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 g++-multilib 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

Menginstal satu set standar masyarakat terpelihara dari udev aturan untuk semua perangkat Android dengan mengikuti petunjuk untuk Set up perangkat untuk pembangunan .

Menggunakan direktori keluaran terpisah

Secara default, output dari setiap membangun disimpan dalam out/ subdirektori dari pohon sumber yang cocok.

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

Untuk mengatur ini, ekspor OUT_DIR_COMMON_BASE variabel ke titik ke lokasi di mana direktori output akan disimpan.

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

Direktori keluaran untuk setiap pohon sumber yang terpisah dinamai menurut 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 output /output/master1 dan /output/master2 .

Hindari memiliki beberapa 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 master cabang.

Berikutnya: Unduh sumbernya

Lingkungan build Anda siap digunakan! Lanjutkan ke download sumber .