Cara Mengganti Default System Font Android Secara Manual - DHOCNET Blog

Cara Mengganti Default System Font Android Secara Manual

Cara Mengganti Default System Font Android Secara Manual

Berawal saat saya mendapatkan handphone Android IMO X2 Normandy. Waktu itu saya kurang puas dengan tampilanya dan saya juga tidak bisa melakukan apa-apa karena handphone tersebut dalam keadaan terkunci (tidak/ belum ter-root) sistemnya. Ya,.. akhirnya setelah keliling kampung, saya mendapat informasi dari forum lokal yang berhubungan dengan handphone ini. Dan ini alamatnya http://www.kaskus.co.id/show_post/50c5a099562acf0b40000021/696/new-gbdroidimox2bywapfix (lengkapnya di http://www.kaskus.co.id/thread/000000000000000016340213/official-lounge-imo-x2-normandy-amp-imo-s900-groovy).
DHOCNETADS

Ok, singkat cerita, saya mengganti ROM defaultnya dengan CusROM (Custom ROM) GB Droid (saya dapat dari link yang telah disebutkan). Mantab! tapi saya jadi kesulitan membaca opsi-opsinya karena CusROM tersebut menggunakan font yang tidak standard (maklum, sudah tua, jadi sedikit rabun,.. :P).



Kemudian saya keliling kampung lagi dan terdampar di http://www.androidauthority.com/how-to-change-the-fonts-on-your-android-phone-32078. Sedikit panjang tulisan dalam halaman tersebut. Dan karena malas, saya hanya mengambil pada bagian "manual". Yaitu proses penggantian sistem font Android secara manual menggunakan Android-sdk (adb).

Pada proses ini, handphone harus dalam keadaan sudah di-root. Untuk proses rooting sendiri bisa dilihat pada link yang telah disebutkan diatas. Tapi ngomong-ngomong,.. kalau kamu sudah menggunakan CusROM, itu besar kemungkinan kalau handphone kamu sudah ter-root. Karena biasanya CusROM menyertakan paket Superuser (atau sejenisnya) dan binari su,.. :D

Langkah pertama adalah, menghubungkan handphone ke komputer. Biarkan, jangan aktifkan media penyimpanan. Tapi sebelumnya pastikan dulu bila pilihan USB Debugging telah aktif. Konfigurasi ini bisa ditemukan di Settings -> Applications -> Development.


Buka terminal emulator (saya menggunakan sistem operasi GNU/ Linux. Bila kamu menggunakan sistem operasi MS. Windows, silahkan gunakan command.com atau cmd yang bisa ditemukan di Start Menu -> All Programs -> CMD) lalu pindah direktori aktif ke tempat dimana Android-sdk tersimpan (bila kamu baru pertama kali menggunakan Android-sdk, silahkan ikuti petunjuk konfigurasinya yang terdapat pada file SDK Readme.txt).

Login sebagai root. Bisa dengan perintah su atau sudo su tergantung dari distribusi yang kamu gunakan. Saya menggunakan akun root karena malas kalau harus mengkonfigurasi udev bila handphone tidak terdeteksi,.. :P

$ su
Password:
#

Cek apakah handphone sudah terdetek dengan perintah ./adb devices

# ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
X2      device

Remount partisi /system agar bisa di tulis.

# ./adb remount
remount succeeded

DHOCNETADS

Kemudian kita lihat, font apa saja yang terdapat pada handphone yang terdapat di /system/fonts

# ./adb shell ls -l /system/fonts
-rw-r--r-- root     root      2106056 2008-08-01 20:00 arialunl.ttf
-rw-r--r-- root     root        62388 2008-08-01 20:00 SegoeWP.ttf
-rw-r--r-- root     root        79396 2008-08-01 20:00 Roboto-Regular.ttf
-rw-r--r-- root     root        82580 2008-08-01 20:00 Roboto-Italic.ttf
-rw-r--r-- root     root        82880 2008-08-01 20:00 Roboto-BoldItalic.ttf
-rw-r--r-- root     root        79620 2008-08-01 20:00 Roboto-Bold.ttf
-rw-r--r-- root     root        66184 2008-08-01 20:00 Lohit-Tamil.ttf
-rw-r--r-- root     root        64232 2008-08-01 20:00 Lohit-Devanagari.ttf
-rw-r--r-- root     root       139296 2008-08-01 20:00 Lohit-Bengali.ttf
-rw-r--r-- root     root       172916 2008-08-01 20:00 DroidSerif-Regular.ttf
-rw-r--r-- root     root       177560 2008-08-01 20:00 DroidSerif-Italic.ttf
-rw-r--r-- root     root       190304 2008-08-01 20:00 DroidSerif-BoldItalic.ttf
-rw-r--r-- root     root       185228 2008-08-01 20:00 DroidSerif-Bold.ttf
-rw-r--r-- root     root        35584 2008-08-01 20:00 DroidSansThai.ttf
-rw-r--r-- root     root       119380 2008-08-01 20:00 DroidSansMono.ttf
-rw-r--r-- root     root        23076 2008-08-01 20:00 DroidSansHebrew.ttf
-rw-r--r-- root     root        30024 2008-08-01 20:00 DroidSansHebrew-Regular.ttf
-rw-r--r-- root     root        30280 2008-08-01 20:00 DroidSansHebrew-Bold.ttf
-rw-r--r-- root     root        21096 2008-08-01 20:00 DroidSansGeorgian.ttf
-rw-r--r-- root     root      5300184 2008-08-01 20:00 DroidSansFallback.ttf
-rw-r--r-- root     root       227928 2008-08-01 20:00 DroidSansEthiopic-Regular.ttf
-rw-r--r-- root     root        13856 2008-08-01 20:00 DroidSansArmenian.ttf
-rw-r--r-- root     root       146372 2008-08-01 20:00 DroidSans.ttf
-rw-r--r-- root     root       146372 2008-08-01 20:00 DroidSans-Bold.ttf
-rw-r--r-- root     root       366760 2008-08-01 20:00 DroidNaskh-Regular.ttf
-rw-r--r-- root     root         6880 2008-08-01 20:00 Clockopia.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Solid.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Highlight.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock.ttf

Nah, ternyata banyak sekali!

Tapi dari sekian banyak font yang ada, biasanya ada beberapa (biasanya dua) font yang unik, yang ditambahkan oleh vendor perangkat. Atau katakanlah, setiap ROM, dia memiliki konfigurasi font yang berbeda.

Kemudian buat backup font agar bila terjadi sesuatu, bisa kita restore dengan mudah nantinya. Ini karena saya pernah melakukan kesalahan dan mengakibatkan handphone nge-brick (gagal booting).

Backup dengan perintah ./adb pull

# ./adb pull /system/fonts ./fonts.orig
pull: building file list...
pull: /system/fonts/AndroidClock.ttf -> ./fonts.orig/AndroidClock.ttf
pull: /system/fonts/AndroidClock_Highlight.ttf -> ./fonts.orig/AndroidClock_Highlight.ttf
pull: /system/fonts/AndroidClock_Solid.ttf -> ./fonts.orig/AndroidClock_Solid.ttf
pull: /system/fonts/Clockopia.ttf -> ./fonts.orig/Clockopia.ttf
pull: /system/fonts/DroidNaskh-Regular.ttf -> ./fonts.orig/DroidNaskh-Regular.ttf
pull: /system/fonts/DroidSans-Bold.ttf -> ./fonts.orig/DroidSans-Bold.ttf
pull: /system/fonts/DroidSans.ttf -> ./fonts.orig/DroidSans.ttf
pull: /system/fonts/DroidSansArmenian.ttf -> ./fonts.orig/DroidSansArmenian.ttf
pull: /system/fonts/DroidSansEthiopic-Regular.ttf -> ./fonts.orig/DroidSansEthiopic-Regular.ttf
pull: /system/fonts/DroidSansFallback.ttf -> ./fonts.orig/DroidSansFallback.ttf
pull: /system/fonts/DroidSansGeorgian.ttf -> ./fonts.orig/DroidSansGeorgian.ttf
pull: /system/fonts/DroidSansHebrew-Bold.ttf -> ./fonts.orig/DroidSansHebrew-Bold.ttf
pull: /system/fonts/DroidSansHebrew-Regular.ttf -> ./fonts.orig/DroidSansHebrew-Regular.ttf
pull: /system/fonts/DroidSansHebrew.ttf -> ./fonts.orig/DroidSansHebrew.ttf
pull: /system/fonts/DroidSansMono.ttf -> ./fonts.orig/DroidSansMono.ttf
pull: /system/fonts/DroidSansThai.ttf -> ./fonts.orig/DroidSansThai.ttf
pull: /system/fonts/DroidSerif-Bold.ttf -> ./fonts.orig/DroidSerif-Bold.ttf
pull: /system/fonts/DroidSerif-BoldItalic.ttf -> ./fonts.orig/DroidSerif-BoldItalic.ttf
pull: /system/fonts/DroidSerif-Italic.ttf -> ./fonts.orig/DroidSerif-Italic.ttf
pull: /system/fonts/DroidSerif-Regular.ttf -> ./fonts.orig/DroidSerif-Regular.ttf
pull: /system/fonts/Lohit-Bengali.ttf -> ./fonts.orig/Lohit-Bengali.ttf
pull: /system/fonts/Lohit-Devanagari.ttf -> ./fonts.orig/Lohit-Devanagari.ttf
pull: /system/fonts/Lohit-Tamil.ttf -> ./fonts.orig/Lohit-Tamil.ttf
pull: /system/fonts/Roboto-Bold.ttf -> ./fonts.orig/Roboto-Bold.ttf
pull: /system/fonts/Roboto-BoldItalic.ttf -> ./fonts.orig/Roboto-BoldItalic.ttf
pull: /system/fonts/Roboto-Italic.ttf -> ./fonts.orig/Roboto-Italic.ttf
pull: /system/fonts/Roboto-Regular.ttf -> ./fonts.orig/Roboto-Regular.ttf
pull: /system/fonts/SegoeWP.ttf -> ./fonts.orig/SegoeWP.ttf
pull: /system/fonts/arialunl.ttf -> ./fonts.orig/arialunl.ttf
29 files pulled. 0 files skipped.
2032 KB/s (9970904 bytes in 4.790s)

Setelah proses backup, kita bisa melihat terlebih dahulu, font mana yang ingin diganti. Dan pada kasus ini, font yang akan diganti adalah DroidSans-Bold.ttf dan DroinSans.ttf. Hapus kedua font tersebut lalu ganti dengan font yang telah disiapkan sebelumnya.

Hapus dengan perintah ./adb shell rm

# ./adb shell rm /system/fonts/DroidSans-Bold.ttf
# ./adb shell rm /system/fonts/DroidSans.ttf

Kemudian copy-kan font penggantinya dengan perintah ./adb push

# ./adb push ./fonts/DroidSans-Bold.ttf /system/fonts
3156 KB/s (1061736 bytes in 0.328s)
# ./adb push ./fonts/DroidSans.ttf /system/fonts
2800 KB/s (183560 bytes in 0.064s)

Hati-hati, jangan sampai salah ketik karena dapat menyebabkan handphone gagal booting.

Oh iya, ini font yang saya siapkan sebelumnya. Saya mendapatkan font ini dari Samsung Galaxy Young GT-S5360.

# ls -l ./fonts
total 8360
----rwxr-x 1 root root    6880 Aug  1  2008 Clockopia.ttf
----rwxr-x 1 root root 1091420 Aug  1  2008 DroidIndia.ttf
----rwxr-x 1 root root 1061736 Aug  1  2008 DroidSans-Bold.ttf
----rwxr-x 1 root root  183560 Aug  1  2008 DroidSans.ttf
----rwxr-x 1 root root   35880 Aug  1  2008 DroidSansArabic.ttf
----rwxr-x 1 root root 5166624 Aug  1  2008 DroidSansFallback.ttf
----rwxr-x 1 root root   23076 Aug  1  2008 DroidSansHebrew.ttf
----rwxr-x 1 root root  119380 Aug  1  2008 DroidSansMono.ttf
----rwxr-x 1 root root   36028 Aug  1  2008 DroidSansThai.ttf
----rwxr-x 1 root root  185228 Aug  1  2008 DroidSerif-Bold.ttf
----rwxr-x 1 root root  190304 Aug  1  2008 DroidSerif-BoldItalic.ttf
----rwxr-x 1 root root  177560 Aug  1  2008 DroidSerif-Italic.ttf
----rwxr-x 1 root root  172916 Aug  1  2008 DroidSerif-Regular.ttf
----rwxr-x 1 root root   14328 Aug  1  2008 SamsungArmenianRegular.ttf
----rwxr-x 1 root root   17660 Aug  1  2008 SamsungGeorgianRegular.ttf

DHOCNETADS

Kita cek lagi, apakah font sudah masuk

# ./adb shell ls -l /system/fonts
----rwxrwx root     root      1061736 2008-08-01 20:00 DroidSans-Bold.ttf
----rwxrwx root     root       183560 2008-08-01 20:00 DroidSans.ttf

-rw-r--r-- root     root        79396 2008-08-01 20:00 Roboto-Regular.ttf
-rw-r--r-- root     root        82580 2008-08-01 20:00 Roboto-Italic.ttf
-rw-r--r-- root     root        82880 2008-08-01 20:00 Roboto-BoldItalic.ttf
-rw-r--r-- root     root        79620 2008-08-01 20:00 Roboto-Bold.ttf
-rw-r--r-- root     root        66184 2008-08-01 20:00 Lohit-Tamil.ttf
-rw-r--r-- root     root        64232 2008-08-01 20:00 Lohit-Devanagari.ttf
-rw-r--r-- root     root       139296 2008-08-01 20:00 Lohit-Bengali.ttf
-rw-r--r-- root     root       172916 2008-08-01 20:00 DroidSerif-Regular.ttf
-rw-r--r-- root     root       177560 2008-08-01 20:00 DroidSerif-Italic.ttf
-rw-r--r-- root     root       190304 2008-08-01 20:00 DroidSerif-BoldItalic.ttf
-rw-r--r-- root     root       185228 2008-08-01 20:00 DroidSerif-Bold.ttf
-rw-r--r-- root     root        35584 2008-08-01 20:00 DroidSansThai.ttf
-rw-r--r-- root     root       119380 2008-08-01 20:00 DroidSansMono.ttf
-rw-r--r-- root     root        23076 2008-08-01 20:00 DroidSansHebrew.ttf
-rw-r--r-- root     root        30024 2008-08-01 20:00 DroidSansHebrew-Regular.ttf
-rw-r--r-- root     root        30280 2008-08-01 20:00 DroidSansHebrew-Bold.ttf
-rw-r--r-- root     root        21096 2008-08-01 20:00 DroidSansGeorgian.ttf
-rw-r--r-- root     root      5300184 2008-08-01 20:00 DroidSansFallback.ttf
-rw-r--r-- root     root       227928 2008-08-01 20:00 DroidSansEthiopic-Regular.ttf
-rw-r--r-- root     root        13856 2008-08-01 20:00 DroidSansArmenian.ttf
-rw-r--r-- root     root       366760 2008-08-01 20:00 DroidNaskh-Regular.ttf
-rw-r--r-- root     root         6880 2008-08-01 20:00 Clockopia.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Solid.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Highlight.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock.ttf
-rw-r--r-- root     root        17660 2008-08-01 20:00 SegoeWP.ttf
-rw-r--r-- root     root        14328 2008-08-01 20:00 arialunl.ttf

Sudah. Selanjutnya adalah merubah hak akses file menjadi rw (read, write) untuk root seperti lainya. Gunakan perintah ./adb shell chmod

# ./adb shell chmod 644 /system/fonts/DroidSans-Bold.ttf
# ./adb shell chmod 644 /system/fonts/DroidSans.ttf

Cek lagi apakah hak akses-nya telah berubah,

# ./adb shell ls -l /system/fonts
-rw-r--r-- root     root      1061736 2008-08-01 20:00 DroidSans-Bold.ttf
-rw-r--r-- root     root       183560 2008-08-01 20:00 DroidSans.ttf

-rw-r--r-- root     root        79396 2008-08-01 20:00 Roboto-Regular.ttf
-rw-r--r-- root     root        82580 2008-08-01 20:00 Roboto-Italic.ttf
-rw-r--r-- root     root        82880 2008-08-01 20:00 Roboto-BoldItalic.ttf
-rw-r--r-- root     root        79620 2008-08-01 20:00 Roboto-Bold.ttf
-rw-r--r-- root     root        66184 2008-08-01 20:00 Lohit-Tamil.ttf
-rw-r--r-- root     root        64232 2008-08-01 20:00 Lohit-Devanagari.ttf
-rw-r--r-- root     root       139296 2008-08-01 20:00 Lohit-Bengali.ttf
-rw-r--r-- root     root       172916 2008-08-01 20:00 DroidSerif-Regular.ttf
-rw-r--r-- root     root       177560 2008-08-01 20:00 DroidSerif-Italic.ttf
-rw-r--r-- root     root       190304 2008-08-01 20:00 DroidSerif-BoldItalic.ttf
-rw-r--r-- root     root       185228 2008-08-01 20:00 DroidSerif-Bold.ttf
-rw-r--r-- root     root        35584 2008-08-01 20:00 DroidSansThai.ttf
-rw-r--r-- root     root       119380 2008-08-01 20:00 DroidSansMono.ttf
-rw-r--r-- root     root        23076 2008-08-01 20:00 DroidSansHebrew.ttf
-rw-r--r-- root     root        30024 2008-08-01 20:00 DroidSansHebrew-Regular.ttf
-rw-r--r-- root     root        30280 2008-08-01 20:00 DroidSansHebrew-Bold.ttf
-rw-r--r-- root     root        21096 2008-08-01 20:00 DroidSansGeorgian.ttf
-rw-r--r-- root     root      5300184 2008-08-01 20:00 DroidSansFallback.ttf
-rw-r--r-- root     root       227928 2008-08-01 20:00 DroidSansEthiopic-Regular.ttf
-rw-r--r-- root     root        13856 2008-08-01 20:00 DroidSansArmenian.ttf
-rw-r--r-- root     root       366760 2008-08-01 20:00 DroidNaskh-Regular.ttf
-rw-r--r-- root     root         6880 2008-08-01 20:00 Clockopia.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Solid.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock_Highlight.ttf
-rw-r--r-- root     root         4824 2008-08-01 20:00 AndroidClock.ttf
-rw-r--r-- root     root        17660 2008-08-01 20:00 SegoeWP.ttf
-rw-r--r-- root     root        14328 2008-08-01 20:00 arialunl.ttf

Selesai. Sekarang reboot handphone untuk melihat hasilnya.

# ./adb shell reboot

Bila berhasil kamu akan melihat seperti gambar berikut. Tapi bila gagal, handphone kamu tidak akan bisa booting. Dia akan berhenti pada logo startup.



Dan bila ternyata gagal, silahkan ulangi lagi langkah diatas. Jangan matikan handphone karena dalam posisi (freeze) tersebut, handphone bisa terdeteksi dan kita bisa menjalankan perintah-perintah diatas. Dan bila ternyata masih gagal juga, silahkan dicoba langkah terakhir. Yaitu, restart handphone (./adb shell reboot), masuk ke mode recovery (tahan tombol volume UP saat reestart), kemudian pilih format data dan format cache. Langkah ini akan mengembalikan kondisi handphone menjadi baru lagi. Alias, semua data dan aplikasi akan hilang, :D

Sekian dan semoga bermanfaat, ^_^

DHOCNETADS
Please write your comments