Difference between revisions of "OS: Android - Build"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(17 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 | + | Untuk device flo gunakan |
− | $ lunch | + | $ 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 | + | 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") | ||
− | + | 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 | |
==Run It!== | ==Run It!== | ||
Line 78: | Line 105: | ||
==Flash a Device== | ==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 | $ adb reboot bootloader | ||
− | + | Setelah device masuk ke mode fastboot, jalankan | |
$ fastboot flashall -w | $ fastboot flashall -w | ||
Line 89: | 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
- 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
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
- 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