Difference between revisions of "OS: Android - Build"

From OnnoWiki
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Tampaknya sebaiknya menggunakan Ubuntu 11.10 max.
+
Untuk dapat mengcompile OS Android di Ubuntu 13.04 ada baiknya membaca
  
The Android build is routinely tested in house on recent versions of Ubuntu LTS (10.04), but most distributions should have the required build tools available. Reports of successes or failures on other distributions are welcome.
+
* http://askubuntu.com/questions/324320/how-does-one-build-android-kernel-from-sources-on-ubuntu-13-04
 +
* http://forum.xda-developers.com/showthread.php?t=2224142
 +
* http://soupdawg.wordpress.com/
 +
* http://wiki.cyanogenmod.org/w/Build_for_mako
  
You will need a 64-bit version of Ubuntu. Ubuntu 10.04 is recommended. Building using a newer version of Ubuntu is currently only experimentally supported and is not guaranteed to work on branches other than master.
 
  
==Instalasi Aplikasi Pendukung==
+
==Inisialisasi==
  
sudo apt-get install git gnupg flex bison gperf build-essential \
+
Instalasi
  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 apt-get install python-lunch
==Inisialisasi==
 
  
 
Di folder
 
Di folder
  
  ~/android-source/
+
  cd ~/android-source/
  
 
Inisialisasi environment menggunakan script envsetup.sh
 
Inisialisasi environment menggunakan script envsetup.sh
Line 41: Line 38:
 
Build lengkap untuk memulator, dengan semua debugging di enable.
 
Build lengkap untuk memulator, dengan semua debugging di enable.
  
Untuk device maguro gunakan  
+
Untuk device flo gunakan  
  
  $ lunch full_maguro-eng
+
  $ lunch full_flo-eng
  
 
Akan keluar kira-kira
 
Akan keluar kira-kira
Line 70: Line 67:
 
Semua target menggunakan format BUILD-BUILDTYPE
 
Semua target menggunakan format BUILD-BUILDTYPE
  
Dimana BUILD adalah codename referring to the particular feature combination. Here's a partial list:
+
Dimana BUILD adalah codename yang mengacu pada kombinasi fitur tertentu, contoh
 +
 
 
  Build name Device Notes
 
  Build name Device Notes
 
  full emulator fully configured with all languages, apps, input methods
 
  full emulator fully configured with all languages, apps, input methods
Line 76: Line 74:
 
  full_panda panda full build running on PandaBoard ("panda")
 
  full_panda panda full build running on PandaBoard ("panda")
  
and the BUILDTYPE is one of the following:
+
dan BUILDTYPE adalah salah satu dari berikut ini:
  
 
  Buildtype Use
 
  Buildtype Use
Line 87: Line 85:
 
==Build==
 
==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.
+
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
 
Untuk processor i5 4 core dapat menggunakan
  
  $ make -j4
+
  make -j4
  
 
==Run It!==
 
==Run It!==
Line 101: Line 105:
 
==Flash a Device==
 
==Flash a Device==
  
To flash a device, you will need to use fastboot, which should be included in your path after a successful build. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with
+
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
 
  $ adb reboot bootloader
  
Once the device is in fastboot mode, run
+
Setelah device masuk ke mode fastboot, jalankan
  
 
  $ fastboot flashall -w
 
  $ fastboot flashall -w
Line 122: Line 126:
 
* http://soupdawg.wordpress.com/
 
* http://soupdawg.wordpress.com/
 
* http://wiki.cyanogenmod.org/w/Build_for_mako
 
* http://wiki.cyanogenmod.org/w/Build_for_mako
 +
 +
 +
==Pranala Menarik==
 +
 +
* [[Android]]
 +
* [[Pemrogramman Android]]
 +
* [[OS: Android - Mempersiapkan Development Environment]]
 +
* [[OS: Android - Memeriksa Spesifikasi Handphone yang digunakan]]
 +
* [[OS: Android - Membuat Mirror Source]]
 +
* [[OS: Android - Download]]
 +
* [[OS: Android - Membuat Folder untuk Bekerja]]
 +
* [[OS: Android - Mirror Source]]
 +
* [[OS: Android - Mirror Source AOKP]]
 +
* [[OS: Android - Mirror Source CyanogenMod]]
 +
* [[OS: Android - Build]]
 +
* [[OS: Android - Build CyanogenMod]]
 +
* [[OS: Android - Build AOSP]]

Latest revision as of 15:42, 4 September 2013

Untuk dapat mengcompile OS Android di Ubuntu 13.04 ada baiknya membaca


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

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.

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

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.

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.


Referensi


Pranala Menarik