AOSP: Membangun Build Environment
Bagian ini menjelaskan cara mengatur local work environment untuk membangun source code Android. Hidup kita akan lebih mudah jika menggunakan Linux atau Mac OS. Proses code-review & code-update dari Android Open Source Project (AOSP) menggunakan tool berbasis web yang di kenal dengan Gerrit.
Memilih Branch
Beberapa persyaratan untuk membangun build environment ditentukan oleh versi source code yang di rencanakan untuk di-kompilasi. Lihat Build Number untuk daftar lengkap dari branch yang dapat kita pilih. Anda juga dapat memilih untuk men-download dan membangun source code terbaru (disebut master), dalam hal ini Anda hanya akan menghilangkan spesifikasi branch ketika Anda menginisialisasi repositori.
Setup Linux build environment
Instruksi di bawah ini berlaku untuk semua brach, termasuk master. Android build secara rutin di test di Google menggunakan versi terbaru dari Ubuntu LTS, tetapi distribusi lain harusnya memiliki build tools yang di butuhkan. Untuk Gingerbread (2.3.x) dan versi yang lebih baru, termasuk master branch, membutuhkan lingkungan 64 bit. Versi yang lebih tua dapat di compile menggunakan sistem 32 bit.
Install JDK
Master brach dari Android di Android Open Source Project (AOSP) membutuhkan Java 8. Di Ubuntu, menggunakan OpenJDK. Jalankan perintah berikut,
$ sudo apt-get update $ sudo apt-get install openjdk-8-jdk
Versi java terbaru di Ubuntu 16.04 adalah 8u77. Jika anda harus menggunakan OpenJDK 7 dst, dapat menggunakan perintah,
$ sudo add-apt-repository ppa:openjdk-r/ppa $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk
Untuk mengcompile android versi < 4.3.1 mau tidak mau harus mundur ke Sun/Oracle JDK 1.6. Jika kita ingin mengcompile android < 4.3.1, kita perlu menginstalasi sun/oracle JDK 1.6, caranya:
sudo add-apt-repository ppa:webupd8team/java sudo apt update sudo apt install oracle-java6-installer sudo apt install oracle-java6-set-default javac -version
java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
Versi JDK yang mungkin cocok untuk android < 4.3.1 adalah 6u45. Untuk memilih versi default yang digunakan dapat menggunakan perintah,
sudo update-alternatives --config java
Install paket yang dibutuhkan
Kita membutuhkan Ubuntu 64 bit. Minimal Ubuntu 14.04 yang di rekomendasikan.
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip python-lunch \ libswitch-perl
Bagi anda yang menggunakan Ubuntu 16.04 maka kemungkinan akan di instalasi make 4.1. Ini bisa di cek menggunakan perintah
make --version GNU Make 4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Ini akan menjadi masalah jika ingin meng-compile android versi <4.3.1. Kita harus menggunakan make 3.81 dan meng-compile secara manual, caranya,
Download source make 3.81 dari http://ftp.gnu.org/gnu/make/ dan lakukan
cd /usr/local/src/ wget http://ftp.gnu.org/gnu/make/make-3.81.tar.gz tar zxvf make-3.81.tar.gz cd /usr/local/src/make-3.81 ./configure make make install
Timpa make 4.1 agar menjadi make 3.81
cd /usr/bin cp make make-4.1 cp /usr/local/src/make-3.81/make /usr/bin hash -r make make –version
GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for x86_64-unknown-linux-gnu
Untuk mengembalikan
sudo make uninstall cd /usr/bin cp make-4.1 make hash -r make make --version
Mengkonfigurasi Akses pada USB
Di bawah sistem GNU / Linux (dan khususnya di Ubuntu), pengguna biasa tidak dapat langsung mengakses perangkat USB secara default. Sistem perlu dikonfigurasi untuk mengizinkan akses tersebut. Cara yang di rekomendasikan, sebagai root, membuat file
/etc/udev/rules.d/51-android.rules
Cara yang perlu dilakukan, termasuk memodifikasi file tersebut agar memasukan username anda, adalah sebagai berikut,
$ wget -S -O - http://source.android.com/source/51-android.rules | sed "s/<username>/$USER/" | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules; sudo udevadm control --reload-rules
Rules yang baru ini akan berfungsi jika sesuatu saat nanti device di colok. Oleh karena-nya sebaiknya unplug semua device android yang ada, dan colok kembali ke komputer setelah rules ini di buat.