Difference between revisions of "OS: Android - Build"

From OnnoWiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
Untuk dapat mengcompile OS Android di Ubuntu 13.04 ada baiknya membaca
 +
 +
* 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
 +
 +
 
==Inisialisasi==
 
==Inisialisasi==
 +
 +
Instalasi
 +
 +
sudo apt-get install python-lunch
 +
 +
Di folder
 +
 +
cd ~/android-source/
  
 
Inisialisasi environment menggunakan script envsetup.sh
 
Inisialisasi environment menggunakan script envsetup.sh
Line 8: Line 24:
  
 
  $ . build/envsetup.sh
 
  $ . build/envsetup.sh
 +
 +
Lakukan
 +
 +
prebuilts/misc/linux-x86/ccache/ccache -M 50G
  
 
==Pilih Target==
 
==Pilih Target==
Line 18: 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 47: 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 53: 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 64: 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!==
  
You can either run your build on an emulator or flash it on a device. Please note that you have already selected your build target with lunch, and it is unlikely at best to run on a different target than it was built for.
+
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==
 
==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 87: Line 116:
  
 
For more information about building for and running on actual hardware, see Building for Devices.
 
For more information about building for and running on actual hardware, see Building for Devices.
 +
 +
 +
 +
==Referensi==
 +
 +
* http://source.android.com/source/initializing.html
 +
* 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
 +
 +
 +
==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