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. Ingatlah juga perubahan penting pada biner /usr/bin/python .

Untuk gambaran umum tentang seluruh proses tinjauan kode dan pembaruan kode, lihat Kehidupan Patch .

Memilih cabang

Beberapa persyaratan untuk lingkungan build ditentukan oleh versi kode sumber yang Anda rencanakan untuk dikompilasi. 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 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 di Ubuntu LTS (14.04) dan pengujian Debian. Sebagian besar distribusi lain harus memiliki alat build yang diperlukan.

Untuk Gingerbread (2.3.x) dan versi yang lebih tinggi, termasuk cabang master , 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 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 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

Instal kumpulan aturan udev default yang dikelola komunitas untuk semua perangkat Android dengan mengikuti petunjuk untuk 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 . Sebagai contoh:

export OUT_DIR=out_mytarget

Ini akan menyebabkan output dari 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 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 variabel OUT_DIR_COMMON_BASE untuk menunjuk ke lokasi di mana direktori output Anda 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 /source/master1 dan /source/master2 dan jika OUT_DIR_COMMON_BASE diatur ke /output , direktori outputnya adalah /output/master1 dan /output/master2 .

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

Berikutnya: Unduh sumbernya

Lingkungan build Anda siap digunakan! Lanjutkan untuk mengunduh sumbernya .