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 .