OS: AOSP - Persiapan Pembuatan ROM
Beberapa Distribusi Android
Sebetulnya ada lumayan banyak distribusi sistem operasi android. Yang resmi dari Google adalah,
AOSP – Android Open Source Project https://source.android.com/
Beberapa distribusi lain, yang non-Google ada banyak sekali, beberapa diantaranya adalah,
AOKP - Android Open Kang Project http://aokp.co/source/ lineageos - http://lineageos.org/ PAC-ROM - http://www.pac-rom.com/#Home Paranoid Android - http://paranoidandroid.co/ SlimROMs - http://www.slimroms.net/
Untuk lebih jelasnya bisa di baca2 di https://www.androidpit.com/best-custom-roms-for-android dan https://forum.xda-developers.com/android/general/custom-rom-comparison-database-t3031005#post58850951
Selanjutnya mari kita membahas bagaimana cara membuat ROM android sendiri menggunakan source code yang disediakan oleh Google tepatnya Android Open Source Project (AOSP). Secara default memang kebanyakan yang pasti bisa di compile adalah untuk smartphone Nexus yang di keluarkan oleh Google. Akan tetapi beberapa Vendor seperti LG, Samsung membuka source code Android-nya dan bisa di ambil secara bebas via Internet, misalnya melalui,
http://opensource.lge.com/index http://opensource.samsung.com/reception.do
Biasanya yang tidak terlalu rewel adalah smartphone dengan processor qualcomm. Smartphone murah kebanyakan menggunakan processor MediaTek (MTK) dari cina, ini biasanya susah memperoleh driver proprietary-nya. Akibatnya kita akan kesulitan untuk mengcompile sistem operasi Android untuk smartphone MTK. Sayang smartphone qualcomm biasanya mahal, yah mungkin kita bisa tertolong dengan beli second smartphone tersebut, terutama Nexus.
Bagi anda yang ingin memonitoring pergerakan mereka yang “ngoprek” sistem operasi android atau ROM android, dapat di baca2 di situs XDA developers http://fourm.xda-developers.com
Persiapan Membuat ROM
Sebelum kita mendownload dan membuat Android dari source code, pastikan bahwa system yang kita gunakan memenuhi persyaratan berikut.
Kebutuhan Hardware
Komputer yang kita gunakan minimal harus memenuhi persyaratan berikut,
- Untuk Gingerbread (2.3.x) ke atas, kita membutuhkan sistem 64 bit.
- Palin tidak 100 Gbyte untuk checkout, 150 GB untuk sebuah build, 200GB atau lebih untuk banyak build. Jika kita menggunakan ccache, maka kita akan membutuhkan space yang lebih banyak lagi.
Jika kita menjalankan Linux di mesin virtual, kita akan membutuhkan paling tidak 16 GB RAM / swap. Sekedar catatan, penulis memperoleh error “Out of Memory” dan gagal mengcompile Android versi terbaru 7.1.1 di mesin dengan RAM 2GB swap 16GB.
Kebutuhan Software
Master branch dari Android Open Source Project (AOSP) biasanya di developed dan di test pada release Ubuntu Long Term Support (LTS). Berikut adalah daftar sistem operasi yang digunakan untuk build AOSP.
Sistem Operasi
Android biasanya di built dengan sistem operasi GNU/Linux atau Mac OS.
GNU/Linux
- Android 6.0 (Marshmallow) - AOSP master: Ubuntu 14.04 (Trusty)
- Android 2.3.x (Gingerbread) - Android 5.x (Lollipop): Ubuntu 12.04 (Precise)
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)
Mac OS (Intel/x86)
- Android 6.0 (Marshmallow) - AOSP master: Mac OS v10.10 (Yosemite) atau yang lebih baru dengan Xcode 4.5.2 dan Command Line Tools
- Android 5.x (Lollipop): Mac OS v10.8 (Mountain Lion) dengan Xcode 4.5.2 dan Command Line Tools
- Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat): Mac OS v10.6 (Snow Leopard) atau Mac OS X v10.7 (Lion) dan Xcode 4.2 (Apple's Developer Tools)
- Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich): Mac OS v10.5 (Leopard) atau Mac OS X v10.6 (Snow Leopard) dan the Mac OS X v10.5 SDK
Java Development Kit (JDK)
- master branch dari Android di AOSP: Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 atau yang lebih baru.
- Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - OpenJDK 7, Mac OS - jdk-7u71-macosx-x64.dmg
- Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat): Ubuntu - Java JDK 6, Mac OS - Java JDK 6
- Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5
Paket program yang penting
- Python 2.6 -- 2.7 dari python.org
- GNU Make 3.81 -- 3.82 dari gnu.org; Android 3.2.x (Honeycomb) dan yang lebih lama perlu mundur dari make 3.82 untuk mengatasi error saat build.
- Git 1.7 atau yang lebih baru dari git-scm.com.
Binary untuk Nexus & Pixel
Untuk mereka yang menggunakan Nexus & Pixel dapat mendownload preview, factory image, drivers, dan update over-the-air (OTA).
- https://developers.google.com/android/blobs-preview - Preview binaries (blobs) – untuk AOSP master branch development
- https://developers.google.com/android/nexus/images - Factory image – untuk supported device yang menjalankan AOSP release branch.
- https://developers.google.com/android/nexus/drivers - Binary hardware support file – untuk device yang menjalankan AOSP release branch.
- https://developers.google.com/android/nexus/ota - OTA image – untuk update secara manual Nexus device over the air (OTA).