OS: Android - Build

From SpeedyWiki

Jump to: navigation, search

Untuk dapat mengcompile OS Android di Ubuntu 13.04 ada baiknya membaca


Contents

[edit] Inisialisasi

Instalasi

sudo apt-get install python-lunch

Di folder

cd ~/android-source/

Inisialisasi environment menggunakan script envsetup.sh

$ source build/envsetup.sh

atau

$ . build/envsetup.sh

Lakukan

prebuilts/misc/linux-x86/ccache/ccache -M 50G

[edit] Pilih Target

Pilih target yang akan di build dengan lunch. Konfigurasi dapat di sampaikan ke lunch menggunakan perintah, contoh,

$ lunch full-eng

Build lengkap untuk memulator, dengan semua debugging di enable.

Untuk device flo gunakan

$ lunch full_flo-eng

Akan keluar kira-kira

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.3.2.1.000.000
TARGET_PRODUCT=full_maguro
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.8.0-19-generic-x86_64-with-Ubuntu-13.04-raring
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
OUT_DIR=out
============================================


Jika menjalankan lunch tanpa argumen, maka kita akan ditanya target yang akan dibuat apa.

Semua target menggunakan format BUILD-BUILDTYPE

Dimana BUILD adalah codename yang mengacu pada kombinasi fitur tertentu, contoh

Build name 	Device 	Notes
full 	emulator 	fully configured with all languages, apps, input methods
full_maguro 	maguro 	full build running on Galaxy Nexus GSM/HSPA+ ("maguro")
full_panda 	panda 	full build running on PandaBoard ("panda")

dan BUILDTYPE adalah salah satu dari berikut ini:

Buildtype 	Use
user 	limited access; suited for production
userdebug 	like "user" but with root access and debuggability; preferred for debugging
eng 	development configuration with additional debugging tools

For more information about building for and running on actual hardware, see Building for Devices.

[edit] Build

Build semua menggunakan make. GNU make dapat menangani task paralel dengan argumen -jN, dan biasanya jumlah task N adalah 1 s/d 2 kali dari hardware thread di komputer yang digunakan untuk build. Contoh sebuah mesin dengan processor dual Xeon E5520 (2 CPU, 4 core per CPU dan 2 thread per core), maka untuk build yang cepat dapat menggunakan antara

make -j16

dan

make -j32.

Untuk processor i5 4 core dapat menggunakan

make -j4

[edit] Run It!

Kita dapat menjalankan android yang kita buat di emulator atau flash ke device. Perlu di catat bahwa jika kita sudah menentukan target yang akan di tuju, maka kemungkinan besar tidak akan berjalan dengan baik kalau di pasang di target yang lain.

[edit] Flash a Device

Untuk flash ke device, kita akan membutuhkan fastboot, yang sudah masuk dalam path setelah build berhasil di lakukan. Buat device agar masuk ke mode fastboot dapat secara manual dengan menekan kombinasi tombol saat boot, atau melalui shell dengan

$ adb reboot bootloader

Setelah device masuk ke mode fastboot, jalankan

$ fastboot flashall -w

The -w option wipes the /data partition on the device; this is useful for your first time flashing a particular device, but is otherwise unnecessary.

For more information about building for and running on actual hardware, see Building for Devices.


[edit] Referensi


[edit] Pranala Menarik

Personal tools