[Tutorial Pembuatan/Modifikasi ROM] Membuat ROM Sendiri (1)

Poster aslinya: Xiaoyu, Tampilan: 306 Balasan: 1 Diposting di: 2013-10-20 16:58:58
Modifikasi ROM secara umum dapat dibagi menjadi tiga kategori: penyederhanaan, penambahan, dan estetika. Di sini kita akan membahas dua aspek utama, yaitu penyederhanaan dan penambahan, sedangkan untuk estetika, kalian bisa merujuk ke postingan lain.

1. Pertama, mari kita lihat apa saja yang ada di dalam ROM:
Dengan membuka paket flashing menggunakan WinRAR, kita bisa melihat beberapa direktori. Berikut ini beberapa direktori yang relevan beserta penjelasannya:
- dev_data/apps/ : Direktori file apk program sistem, setara dengan "/data/app_s/" setelah flashing. Program di sini tidak bisa dihapus setelah flashing.
- dev_data/app/ : Direktori file apk program pengguna, setara dengan "/data/app/" setelah flashing. Program di sini bisa dihapus setelah flashing. (Hanya ada pada versi setelah 28 Oktober; versi sebelumnya bisa menambahkan direktori ini sendiri)
- META-INF/com/google/android/ : File skrip flashing
- system/etc/: Menyimpan beberapa file konfigurasi
- system/etc/permissions/ : Berkaitan dengan izin software; beberapa patch perlu menambahkan file di direktori ini
- system/lib/ : Lokasi penyimpanan file library program sistem

2. Selanjutnya, mari kenali file skrip flashing
Saat melakukan flashing dengan recovery, proses flashing dikontrol oleh file skrip.
File skrip berada di direktori META-INF/com/google/android/ dalam paket terkompresi, berupa file update-script yang dapat dibuka dengan editor teks.

Ada beberapa perintah di dalam file skrip yang perlu kita perhatikan:
(1) show_progress 0.1 0 : menampilkan progress bar
Ini digunakan untuk menampilkan progress bar saat flashing. Angka 0.1 menunjukkan posisi progress bar dan bisa diganti dengan nilai lain (kurang dari 1). Angka di belakang tidak jelas maksudnya, secara umum kecuali baris terakhir yang bernilai 10, semua baris lain bernilai 0. Beberapa ROM saat flashing menunjukkan progress bar belum penuh meski flashing sudah selesai. Kalian bisa mencoba mengubah baris terakhir menjadi show_progress 0.8 10, maka progress bar akan sampai penuh.(2) Beberapa kata kunci (A) "SYSTEM:" mewakili direktori sistem setelah flashing = "/system/" (B) "INTERNAL:" mewakili direktori /data setelah flashing = "/data/" (C) "PACKAGE:" mewakili direktori root dari paket kompresi Contohnya, "SYSTEM:etc/" setara dengan direktori "/system/etc/" setelah flashing, "PACKAGE:dev_data" setara dengan direktori dev_data di dalam paket kompresi (3) copy_dir PACKAGE:dev_data INTERNAL: copy_dir digunakan untuk menyalin direktori, parameter pertama adalah direktori yang akan disalin, parameter kedua adalah tujuan penyalinan. Contohnya copy_dir PACKAGE:dev_data INTERNAL: digunakan untuk menyalin isi direktori dev_data dari paket ROM ke direktori "/data/" setelah flashing (4) set_perm_recursive 0 2000 0755 0755 SYSTEM:bin Digunakan untuk mengatur hak akses direktori atau file, cara penggunaannya mirip dengan cara pengaturan hak akses di Linux. (5) delete SYSTEM:app/YouTube.apk Menghapus file, ini biasanya jarang digunakan, jika ingin menghapus, cukup langsung hapus. Baiklah, sekarang kita bisa mulai memangkas dan menambahkan aplikasi. Dua. Memangkas program sistem Memangkas sebenarnya berarti menghapus program sistem, program yang tidak kita gunakan dapat dihapus. Keuntungan menghapus program ini adalah (1) Beberapa hal tidak kita gunakan, tampil di daftar program cukup mengganggu, jika program semacam ini terlalu banyak juga akan membuat membuka daftar program menjadi lambat. (2) Beberapa program setelah dijalankan akan menggunakan memori padahal kita tidak menggunakannya. Misalnya, penyaringan SMS dan lainnya. (3) Beberapa program tidak ingin digunakan dari ROM asli, ingin diganti dengan yang lain, misalnya tidak suka ADW, diganti dengan LAUNCH PRO dll. Cara memangkasnya sangat sederhana, menggunakan WinRAR buka ROM, masuk ke dev_data apps, temukan program yang tidak diinginkan, hapus. Program yang dapat dipangkas: masalah ini telah banyak dibahas di berbagai postingan, bisa dicari sendiri, misalnya beberapa postingan berikut. Tiga. Menambahkan program Menambahkan program ada dua cara, pertama adalah menambahkan program sebagai program sistem, kedua menambahkan sebagai program pengguna. Keuntungan menambahkan program sebagai program sistem adalah kecepatan eksekusi lebih cepat (katanya orang lain, saya sepertinya tidak merasakannya), kekurangannya adalah tidak bisa langsung dihapus, hanya dapat dihapus melalui alat seperti RE.Sebenarnya menggunakan RE untuk langsung menghapus file APK program sistem tidak selalu membuatnya terhapus bersih. Jika tidak percaya, kalian bisa melihat direktori /data/data/, apakah setiap program memiliki target yang sesuai, dengan nama direktori yang sama dengan nama paket program (bukan XXX.APK ini XXX).

1. Menambahkan program sistem: Cara termudah untuk menambahkan program sistem:
(1) Gunakan WinRAR untuk membuka file ROM yang terkompres, masuk ke direktori "dev_data app_s", lalu salin file APK dari program yang ingin ditambahkan ke dalamnya.
(2) Gunakan WinRAR untuk membuka file APK yang ingin ditambahkan dan lihat apakah di direktori “lib/armeabi” ada file yang berakhiran .so, itu adalah file library yang dibutuhkan saat program dijalankan. Jika ada, salin file tersebut ke direktori “system/lib/” dalam paket yang terkompres. Beberapa teman saat memodifikasi ROM menambahkan program yang tidak bisa dijalankan, kebanyakan karena kondisi ini. Misalnya pada versi baru Google Pinyin Input.

2. Menambahkan program pengguna: Menambahkan program pengguna sedikit lebih rumit, tetapi setelah flashing bisa langsung dihapus. Jika menggunakan ROM setelah 28 Oktober, langsung saja tarik APK ke dalam direktori "dev_data/app/". Langkah ini sangat mudah, yang merepotkan adalah jika APK memiliki file library. Cara sederhana sama seperti langkah ke-2 pada penambahan program sistem, kelemahan cara ini adalah saat menghapus, file library masih akan tertinggal di “system/lib/”. Untungnya kebanyakan program tidak memiliki file library, dan file library yang tertinggal pada beberapa program tidak masalah. Cara yang lebih canggih adalah memasang melalui penulisan skrip.
ROM sebelum 28 Oktober tidak memiliki direktori app di "dev_data/", kalian bisa membuatnya sendiri (klik kanan di WinRAR, pilih buat folder baru), setelah membuat direktori, atur atribut direktori di skrip flashing: Di skrip flashing temukan bagian berikut:
copy_dir PACKAGE:dev_data INTERNAL:
set_perm 1000 1000 0771 INTERNAL:app_s
Tambahkan satu baris berikut setelahnya:
set_perm 1000 1000 0771 INTERNAL:app
Baris pertama menyalin semua isi direktori dev_data dari ROM ke /data,
Baris kedua mengatur izin app_s
Baris yang kita tambahkan mengatur izin app
Selanjutnya bisa memperbaiki dan menyesuaikan ROM.Script firstboot digunakan untuk melakukan pengaturan tingkat lanjut pada ROM, bisa memanfaatkan script firstboot.sh. Script firstboot.sh berada di direktori dev_data dalam ROM. Kode dalam script ini dijalankan saat pertama kali boot setelah flashing, dengan memanfaatkan ini bisa melakukan pengaturan sistem, menginstal APK, dan pekerjaan lainnya. Lihat cuplikan script di liudidi1028rom # Pengaturan default sistem /system/xbin/sqlite3 "INSERT INTO system (name, value) VALUES ('trackball_wake_screen', 1);" /system/xbin/sqlite3 "INSERT INTO system (name, value) VALUES ('trackball_unlock_screen', 1);" /system/xbin/sqlite3 "INSERT INTO system (name, value) VALUES ('lock_home_in_memory', 1);" Saya rasa semua orang sudah bisa menebak fungsi tiga baris kode ini. Mengenai mengapa script ditulis seperti ini, jangan tanya saya, saya juga tidak terlalu familiar, kita bisa meneliti bersama-sama. Dalam script bisa digunakan perintah seperti rm, mv, dengan ini bisa langsung menimpa beberapa file konfigurasi. Contoh: busybox rm /system/etc/nama_file busybox mv /system/etc/nama_file Tentu, jika yang diubah adalah file sistem, pertama-tama harus mendapatkan izin: busybox mount -o remount,rw /system Setelah itu ubah kembali menjadi read-only: busybox mount -o remount,ro /system firstboot.sh sangat berguna, semoga ada yang bisa menulis tutorial dasar!
membalas 🤍 0 📤 membagikan mengumpulkan
Terlalu panjang, tidak bisa dimengerti
— Semua balasan dimuat —

Tinggalkan Balasan