Cara Membangun ROM Kustom dari Proyek Open Source Android

sumber dikenal sebagai AOSP (Android Open Source Project) .



Sekarang hal tentang AOSP adalah bahwa kode sumbernya murni tidak termasuk kepemilikan perangkat keras khusus perangkat. Dalam istilah awam, perangkat keras seperti kamera dan GPU Anda tidak akan berfungsi 'di luar kotak' saat mengembangkan dengan AOSP. Faktanya, perangkat Anda bahkan tidak bisa boot tanpa binari perangkat keras ini.

Jika Anda mengembangkan ponsel bermerek Google (Pixel, Nexus, dll), Anda dapat menemukan biner perangkat kerasnya langsung dari Google , dan panduan ini akan memandu Anda mendapatkan dan membangunnya ke dalam ROM Anda. Namun, jika Anda mengembangkan ROM untuk telepon bermerek (Sony, Samsung, dll)… baiklah, berkati hati Anda, karena Anda siap untuk berkendara.



Beberapa pabrikan memiliki proyek sumber terbuka sendiri atau merilis alat pengembangan untuk calon pengembang, sedangkan pabrikan lain membatasi ketat kode kepemilikan mereka. Berikut daftar singkat proyek sumber terbuka dari produsen yang lebih populer:



Pusat Rilis Sumber Terbuka Samsung
Dunia Pengembang Sony
Dukungan Lenovo
Pusat Rilis Sumber Terbuka Huawei
Pengembang Motorola



Setelah itu, mari kita lanjutkan dengan asumsi bahwa kita sedang membangun ROM untuk pengalaman Android vanilla yang paling dasar, untuk perangkat Google Pixel. Dengan pengetahuan ini, Anda akan dapat mengembangkannya sendiri dan mulai mengembangkan versi kustom dari ROM pabrikan tertentu.

Persyaratan untuk Panduan ini:

  • Proyek Sumber Terbuka Android
  • Ponsel Pixel XL atau emulator Android untuk Linux
  • Sistem Operasi Linux 64-bit - Ubuntu atau Linux Mint adalah distro paling ramah pemula, sedangkan BBQLinux dikembangkan secara khusus dengan mempertimbangkan pengembang Android.
  • Python
  • Komputer yang gemuk (mengompilasi kode membutuhkan banyak memori dan ruang!)

Menyiapkan Lingkungan Build Anda

Mari kita mulai dengan menyiapkan emulator Android di mesin Linux Anda. Baik Anda memiliki perangkat Google Pixel XL atau tidak, selalu paling aman untuk mencoba ROM baru Anda di emulator Android sebelum berkedip ke perangkat Anda. Favorit pribadi saya adalah Genymotion, jadi saya akan memandu Anda melalui pemasangan emulator khusus itu. Namun, Anda juga dapat melihat panduan ini ' Emulator Android Terbaik ”, Karena kebanyakan dari mereka juga memiliki kompatibilitas Linux.

Pergilah ke Situs web Genymotion , daftarkan akun, verifikasi melalui email, dan unduh file yang dapat dieksekusi ke desktop Linux Anda.



Sekarang buka terminal Linux, dan ketik:

Chmod + x genymotion-xxxxx.bin (ganti xxxx dengan nomor versi di nama file)
./genymotion-xxxxxx.bin

tekan DAN untuk membuat direktori Genymotion. Sekarang ketik terminal:

cd genymotion && ./genymotion

Sekarang akan meminta Anda untuk memulai proses instalasi, jadi terus klik Next sampai Anda masuk ke jendela Add Virtual Devices. Pilih 'Pixel XL' di bawah opsi Model Perangkat, dan kemudian selesaikan penginstalan. Anda dapat menguji perangkat virtual jika Anda mau, pada dasarnya akan seperti memiliki telepon Pixel XL di desktop Anda.

Sekarang mari kita siapkan Python:

$ apt-get install python

Sekarang kita perlu menyiapkan Java Development Kit di mesin Linux Anda. Buka terminal Linux dan ketik perintah berikut:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

Sekarang Anda perlu mengkonfigurasi sistem Linux untuk mengizinkan akses perangkat USB. Jalankan kode berikut di terminal Linux:

Ini akan mengunduh file 51-android.txt yang diperlukan yang memungkinkan akses perangkat USB yang disebutkan di atas. Buka file .txt dan ubah untuk memasukkan nama pengguna Linux Anda, lalu letakkan file .txt di lokasi berikut: (sebagai pengguna root ). Sekarang hubungkan perangkat Anda ke komputer melalui USB agar aturan baru diterapkan secara otomatis.

Mendownload Sumber Android

AOSP dihosting di Git, jadi kami akan menggunakan alat yang disebut Repo untuk berkomunikasi dengan Git.

Pertama kita perlu mengatur folder / bin di direktori Home Anda. Ketik perintah berikut ke terminal Linux:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Sekarang kita akan mengunduh alat Repo, jadi ketik di terminal Linux:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Setelah Repo diinstal, sekarang kita harus membuat direktori kosong untuk menyimpan file pekerjaan Anda. Jadi ketikkan ini ke terminal Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Sekarang kami akan mengkonfigurasi Git dengan nama dan alamat email Anda - gunakan alamat Gmail yang Anda periksa secara teratur , jika tidak, Anda tidak akan dapat menggunakan alat peninjau kode Gerrit.

$ git config –global user.name 'Nama Anda'
$ git config –global user.email
anda@gmail.com

Sekarang kami akan memberi tahu Repo untuk mengambil manifes master terbaru AOSP dari Git:

$ repo init -u https://android.googlesource.com/platform/manifest

Jika berhasil dilakukan, Anda akan menerima pesan bahwa Repo telah diinisialisasi di direktori kerja Anda. Anda juga akan menemukan ' .repo ” direktori di dalam direktori klien. Jadi sekarang kita akan mengunduh pohon sumber Android dengan:

$ repo sinkronisasi

Membangun Sumber Android

Di sinilah binari perangkat keras yang disebutkan di awal panduan ini ikut bermain. Mari menuju ke Driver AOSP halaman dan unduh biner Pixel XL untuk Android 7.1.0 (NDE63P). Anda ingin mengunduh gambar vendor dan komponen perangkat keras. Ini datang sebagai arsip terkompresi, jadi ekstrak ke desktop Anda dan jalankan skrip yang mengekstrak sendiri dari folder root. Pilih untuk menginstal biner ke root dari WORKING_DIRECTORY yang kita buat sebelumnya.

Sekarang ketik ke terminal Linux Anda:

$ membuat pemanjat
$ source build / envsetup.sh

Sekarang kita akan memilih target untuk dibangun, jadi ketik:

$ makan siang aosp_marlin-userdebug
$ setpaths
$ make –j4

Di sana, kami sekarang telah 'membangun' ROM Android dari sumbernya. Jadi, mari kita uji di emulator, dengan mengetik di terminal:

$ emulator

Jadi bermain-mainlah di emulator sedikit. Seperti yang Anda lihat, pengalaman Android vanilla murni cukup minim, dan inilah mengapa pabrikan menyesuaikan AOSP dengan kebutuhan mereka. Jadi kamu bisa flash ROM ini yang baru saja kami buat ke perangkat Anda jika Anda mau, tetapi tanpa menambahkan perangkat tambahan apa pun, pengalaman Android murni vanilla akan menjadi hal yang sangat membosankan.

Jadi apa yang biasanya akan dilakukan oleh produsen dengan AOSP adalah mem-forknya, menambahkan biner milik mereka sendiri, menyesuaikan UI, menambahkan logo boot, dll. Produsen pada dasarnya hanya mengecat ROM Android stok, dan itu akan menjadi tujuan Anda selanjutnya juga .

Pantau terus, karena bagian kedua dari panduan ini akan menambahkan font, tema, dan animasi boot ke ROM Anda!

5 menit membaca