RSS

Tag Archives: tools

Seni membaca error log di logcat (DDMS) Android

Ketika saya coba bekerjasama dengan 1 developer Android yang sudah punya produk di PlayStore kemudian komunikasi kami menjadi sedikit missmatch karena ternyata saya baru ngeh kalau developer yang mengajak kerjasama meningkatkan fitur produknya, belum paham membaca error log dan log cat. Dan sering saya dapati komunikasi kami via e-mail dan google docs menjadi tidak harmonis (halah) ketika mengisi waktu kerja proyekan apps android di luar kerjaan kantor, di PKH, Jakarta.

Dan begitu juga pas ngisi workshop, peserta masih bingung membaca error log yang tampil di DDMS yang ter-attached di Eclipse IDE.
Alhasil tempo hari menyisihkan waktu satu jam-an tentang seni membaca error ataupun force close aplikasi dan menemukan bugs dengan cara debugging, error handling ataupun dengan membaca error log.

Mengenai seni trace dan membaca log, perhatikanlah artikel singkat di stackoverflow ini

Mengenai seni dalam mengetahui force close secara langsung dari aplikasi, dapat mencoba cara ini.

Mengenai seni error handling dalam java, bisa baca artikel ini dan khusus Android ada di sini.

Kalau mengecek error di tool DDMS bawaan android SDK/Tools, perlu diketahui, ketika aplikasi berjalan, log yang nampil itu bukan hanya error, jangan dikira kalau ada pesan di log berarti error.
teks warna hijau : seputar tips dan informasi,
teks warna biru : bagian yang diselect, biasanya diisi to-do-list oleh developer,
teks warna orange : ini sebagai peringatan, bisa jadi potensi masalah (namun saat ini belum jadi masalah)
Dan..
teks merah : ini error, dan harus dianalisa masalahnya biar tidak menimbulkan gangguan di aplikasi.

Dan ketika nampak teks warna merah di logcat, sebagai contoh :
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): Error updating to newly loaded content.
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): java.lang.NullPointerException
02-12 17:50:21.541: E/com.wd.radiodakwahislam.controller.StreamingMediaPlayer(10294): at com.wd.radiodakwahislam.controller.StreamingMediaPlayer.transferBufferToMediaPlayer(StreamingMediaPlayer.java:285)

Di atas, terlihat bahwa ada tulisan : “…(StreamingMediaPlayer.java:285)
artinya, error tersebut terjadi di baris 285 pada class StreamingMediaPlayer.java. So, fokuslah ke class tersebut, dan lihat pada baris 285 terdapat kekeliruan atau tidak (lihat dari editor Eclipse-nya).

Nah, kalau bingung, di awal teks merah tersebut di logcat, copy teks-nya (dengan pilih teks error-nya di logcat, terus tekan ctrl+c), dan buang tanggal dan nama class-nya sehingga yang ter-copy hanya teks error saja : error updating to newly loaded content.
Copy dan paste ke google search di internet browser di PC (bila perlu ditambahkan keyword : Android di akhirnya), terus enter dan lihat di result google, biasanya result 3 besar berisi link stackoverflow, klik salah satunya dan cari apa penyebabnya dari jawaban-jawaban yang ada di stackoverflow.

Pas awal kerja di PKH secara remote, saya langsung ngomong ke team via basecamp, agar coba menerapkan sebuah rules dalam melaporkan bugs dan error dari aplikasi yang dikembangkan kepada teman-teman team yang developer web dan UI designer.

Rules itu berisi :

  • Ketika melaporkan bugs, harap sertakan device apa yang dipakai dan versi OS android-nya.
  • Bila terdapat bugs/masalah UI tolong sertakan screenshotnya, bila masalah fungsional tolong sertakan logcatnya (dengan mengunduh tools berikut) /** saya sertakan link download zipnya yang berisi tool DDMS dan Android SDK beserta doc singkat cara pakainya **/
  • Sebaikny pakai filtering ketika menjalankan logcat di DDMS, jangan semua proses dicantumkan di logcat, demi memudahkan menelusuri masalahnya
  • DDMS bisa filter logcat aplikasi saja, jadi tidak semua log dari proses di device tercatat, caranya dengan masukan nama project di bagian kolom filter. Nama project sesuai yang saya cantumkan ketika saya upload progress (nama project dapat dilihat di file manifest.xml)
  • Kenapa penting bagi developer untuk tahu itu? Supaya gampang mengetahui errornya
    Jangan dikira ketika aplikasi jalan di device developer maka digeneralisir kalau aplikasi tersebut jalan di device SEMUA users. Bahkan yang terjadi di kantor tempat saya kerja, error itu justru sangat kemungkinan besar terjadi mengingat para teman-teman memakai device Android berbagai merek dan ukuran layar dan versi OS.
    Makanya ada conditional yang diterapkan dicode : IF(SDK version < 10) pake codingan A, IF(SDK version > 14) pake codingan B, dll.
  • Oleh karena itu, penting adanya public testing sebelum melepas ke GooglePlay.
    Dan media yang bagus untuk melakukan public testing gratis ya jejaring sosial facebook dll.
  • Beda ukuran layar beda lagi UInya, makanya ketika saya bekerjasama dengan designer UI ada beberapa rules yang harus dipatuhi bersama agar bisa diterapkan di layout dan mencakup ukuran layar low, mid, high, (ponsel dr ukuran kecil sampe besar) extra (tablet 7″ atau HD) dan double extra (tablet 10″ atau yg full HD). Untuk guidelines buat para designer UI Android, bisa patuhi prinsip-prinsip designnya di sini dan lengkapnya ada di sini untuk setiap bagian design-nya.

Sekian dan terima kasih 😀

 
4 Comments

Posted by on February 13, 2014 in Android

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

[Tips for Android Developer] Using Android Emulator or Android Virtual Device

If you don’t have a android phone, don’t worry..you can still develop apps android and try it through Android Emulator (Android Virtual Device – AVD)

you can use the command via command prompt (don’t forget to set adb tools on system variable path on your PC) :

emulator -avd emulator-name

to start the emulator. If you want to customize the emulator appearance, you can use the command:

emulator -avd emulator-name -skin 480×320

where the Andori emulator appearance standard is:

480×320, landscape: emulator -skin HVGA-L
320×480, portrait : emulator -skin HVGA-P (default)
320×240, landscape: emulator -skin QVGA-L
240×320, portrait : emulator -skin QVGA-P

 
Leave a comment

Posted by on June 5, 2011 in Android

 

Tags: , , , , , , , , , ,