Android Studio untuk pemula, Bagian 4: Alat debugging dan plugin produktivitas

Diperbarui: Januari 2020.

Android Studio menawarkan palet kaya alat pengembangan bawaan, dan ekosistem plugin yang lebih melimpah. Tiga artikel pertama dalam seri ini berfokus pada penginstalan dan penyiapan serta pengkodean dan menjalankan aplikasi seluler sederhana dengan Android Studio. Sekarang Anda akan mengenal beberapa alat yang lebih canggih: tiga alat built-in dan tiga plugin untuk debugging dan meningkatkan kualitas dan produktivitas kode aplikasi Android Anda.

Artikel ini memperkenalkan alat-alat berikut untuk Android Studio:

Alat debugging bawaan

  • Logcat
  • Debug
  • Lint

Plugin untuk produktivitas pengembang

  • Ide ADB
  • Codota
  • Plugin Lombok

Yang baru di Android Studio 3.5

Cari tahu apa yang harus dicari di versi terbaru Android Studio, termasuk dukungan untuk Kotlin dan peningkatan pada manajemen memori dan daya tanggap UI.

Mencatat dan men-debug aplikasi Android

Aplikasi buggy adalah cara pasti untuk mengusir calon pelanggan. Logcat dan Debug adalah dua fitur bawaan Android Studio, yang dapat Anda gunakan untuk mengidentifikasi dan memperbaiki bug di kode Android Anda.

Logging Android: Logcat

Anda mungkin tidak memerlukan atau menginginkan debugger lengkap untuk setiap skenario "buggy". Dalam beberapa kasus, cukup mencatat dan mengoreksi nilai variabel tertentu. Logcat Android Studio sangat cocok untuk tugas ini.

Logcat adalah alat baris perintah (terintegrasi ke dalam Android Debug Bridge - ADB) yang membuang log pesan sistem yang dapat membantu Anda menemukan dan memperbaiki masalah dalam kode Anda. Pesan menyertakan pelacakan tumpukan ketika perangkat melakukan kesalahan, dan mencatat pesan yang sengaja Anda sematkan dengan android.util.Logkelas. Logcat sangat berguna sehingga telah diintegrasikan langsung ke dalam Android Studio, di mana Anda dapat mengaksesnya dari menu View atau bilah jendela alat.

Jeff Friesen

The Logcat jendela dibagi menjadi deretan horizontal drop-down daftar dan kontrol lain diikuti oleh area pesan. Dari kiri ke kanan, kontrolnya adalah:

  • Daftar drop-down yang mengidentifikasi perangkat dan emulator yang terhubung. (Lihat Gambar 1.)
  • Daftar drop-down yang mengidentifikasi paket APK yang diinstal di perangkat yang dipilih.
  • Daftar drop-down level logging:
    • Verbose: tampilkan semua pesan.
    • Debug: menampilkan pesan log debug yang berguna selama pengembangan saja, serta level pesan yang lebih rendah dalam daftar drop-down.
    • Info: tampilkan pesan log yang diharapkan untuk penggunaan biasa, serta level pesan yang lebih rendah di daftar drop-down.
    • Peringatan: menampilkan kemungkinan masalah yang belum menjadi kesalahan, serta level pesan yang lebih rendah dalam daftar drop-down.
    • Error: menampilkan masalah yang menyebabkan error - pengecualian yang muncul, serta level pesan Assert.
    • Assert: tunjukkan masalah yang diharapkan developer tidak akan pernah terjadi.
  • Bilah pencarian di mana satu-satunya pesan yang muncul adalah yang berisi teks yang Anda ketik di kontrol ini.
  • Kotak centang yang memungkinkan Anda menggunakan ekspresi reguler di bilah pencarian. Misalnya, dalam konteks Gambar 1, Anda mungkin menentukan SystemClock | AlarmManager (yaitu, pesan harus mengandung salah satu kata).
  • Daftar drop-down untuk memfilter pesan, termasuk opsi berikut:
    • Tanpa Filter (default) menyebabkan semua pesan untuk perangkat yang dipilih muncul, terlepas dari paket APK yang dipilih.
    • Show only selected application hanya menampilkan pesan untuk paket APK yang dipilih di perangkat yang dipilih, yang memiliki level log yang sesuai atau lebih rendah.
    • Edit Konfigurasi Filter memungkinkan Anda membuat filter kustom.

Dalam kode sumber, Anda dapat memasukkan panggilan ke berbagai android.util.Logmetode untuk mencatat pesan. Misalnya, Anda mungkin memanggil public static int i(String tag, String msg)untuk mencatat INFOpesan -tingkat, atau public static int w(String tag, String msg)untuk mencatat WARNpesan -tingkat.

Untuk salah satu metode, string yang diteruskan untuk tagmengidentifikasi sumber pesan (misalnya, metode di mana metode logging ini dipanggil), dan string yang diteruskan untuk msgmengidentifikasi pesan yang sedang dicatat.

Alternatifnya, Anda bisa memanggil System.out's and System.err' print()dan println()metodenya. Panggilan ke System.outmetode mencapai hal yang sama seperti log.i()panggilan; panggilan ke System.errmetode mencapai hal yang sama seperti log.w()panggilan.

Jeff Friesen

Pada Gambar 2, satu-satunya pesan yang ditampilkan adalah untuk proses aplikasi contoh yang berjalan pada perangkat Nexus 5X yang diemulasi. Lebih lanjut, pesan ini harus berisi onCreatedan diterima oleh filter Tampilkan hanya aplikasi yang dipilih .

Lebih lanjut tentang Logcat

Lihat "Menulis dan Melihat Log dengan Logcat" Google untuk mempelajari lebih lanjut tentang Logcat. Juga pelajari android.util.Logdokumentasi kelas.

Debugging Android: Debug

Menggunakan Logcat untuk mencatat dan memperbaiki kode tidak masalah untuk aplikasi yang sangat sederhana. Untuk aplikasi yang lebih rumit, bentuk debugging ini bisa jadi membosankan. Sebaliknya, Anda akan menginginkan sesuatu yang memungkinkan Anda men-debug kode aplikasi yang dapat dieksekusi. Alat Debug bawaan Android Studio menawarkan banyak kemampuan, termasuk yang berikut ini:

  • Pilih perangkat untuk men-debug aplikasi Anda.
  • Setel breakpoint dalam kode aplikasi Anda (Java, Kotlin, atau C / C ++).
  • Periksa variabel dan evaluasi ekspresi pada waktu proses.

Ada beberapa prasyarat sebelum menggunakan alat debugging ini:

  1. Jika aplikasi Anda menyertakan kode sumber C / C ++, Anda harus menginstal LLDB dari SDK Manager (lihat Gambar 3). Untungnya, aplikasi contoh untuk rangkaian ini ( W2A ) tidak berisi kode C / C ++, jadi kita bisa mengabaikan prasyarat ini.

    Jeff Friesen

  2. Anda harus mengaktifkan debugging pada perangkat yang terhubung. Namun, jika Anda menggunakan emulator (seperti kami dalam contoh ini), Anda dapat mengabaikan prasyarat ini. Debugging diaktifkan secara default pada perangkat yang diemulasi.
  3. Anda harus menjalankan varian build yang dapat di-debug. Secara default, ini dibuat untuk Anda, jadi dalam banyak kasus (termasuk contoh ini) Anda tidak perlu mengkhawatirkannya.

Mari kita jalankan sesi debugging cepat.

Debugging Android sederhana

Dengan asumsi Anda menjalankan Android Studio dengan jendela editor untuk aplikasi contoh ( W2A.java ) terbuka, langkah pertama Anda adalah menyetel breakpoint pada public void onCreate(Bundle savedInstanceState)baris. Atur breakpoint dengan menyorot baris ini dan lakukan salah satu hal berikut:

  • Klik area selokan di sebelah kiri baris; Sebagai tanggapan, garis akan berubah menjadi merah muda.
  • Pilih Toggle Line Breakpoint dari menu Run .
  • Tekan Ctrl dan F8 secara bersamaan.

Sekarang pilih Debug 'app' dari menu Jalankan , atau klik ikon yang sesuai di bilah alat. Jika emulator tidak berjalan, Anda akan mengamati kotak dialog Select Deployment Target . Saya memilih Nexus 5X API 15 dan mengklik OK .

Sementara Anda menunggu perangkat yang diemulasi datang online, klik tombol Debug pada bilah jendela alat untuk menampilkan jendela Debug . Akhirnya, Anda akan melihat sesuatu yang mirip dengan Gambar 4.

Jeff Friesen

The Debug jendela menyediakan ikon untuk melangkah lebih, dalam, dan keluar dari metode, dan banyak lagi. Gambar 5 menunjukkan apa yang terjadi ketika kita melangkahi suatu metode.

Jeff Friesen

Klik ikon yang sesuai dan pilih Step Over dari menu Run , atau tekan F8 . Ini memungkinkan kita melanjutkan lebih dalam ke onCreate()metode sambil melangkahi setiap pemanggilan metode.

Pilih baris dengan }karakter penutup untuk onCreate()metode tersebut, lalu pilih Run to Cursor . Anda akan menerima pemberitahuan bahwa aplikasi sedang berjalan. Setelah membuka kunci perangkat, Anda akan melihat jendela aktivitas aplikasi contoh.

Jeff Friesen

Selengkapnya tentang Debug

Lihat "Debug aplikasi Anda" dari Google untuk mempelajari lebih lanjut tentang debugging di Android Studio; misalnya, bagaimana menggunakan berbagai macam breakpoint.

Debugging dengan GAPID

Meskipun tidak dibahas di sini, saya sarankan untuk memeriksa GAPID: Graphics API Debugger, kumpulan alat debugging yang memungkinkan Anda memeriksa, mengubah, dan memutar ulang panggilan dari aplikasi Android ke driver grafis.

Pemeriksaan kode dengan Lint

Tidak peduli seberapa hati-hati Anda menulisnya, kode sumber Anda kemungkinan besar mengandung bug, masalah gaya, dan mungkin merujuk pada sumber daya yang tidak aktif karena satu dan lain alasan. Sebuah linter adalah jenis alat yang memindai kode sumber untuk bukti ini dan potongan lain bulu jahat, yang melaporkan ke pengembang.

Lint adalah linter bawaan untuk Android SDK. Anda dapat menggunakannya untuk menemukan masalah seperti elemen yang tidak berlaku lagi dan panggilan API yang tidak didukung oleh API target Anda.

Untuk menjalankan Lint dari dalam Android Studio, pilih Inspect Code ... dari menu Analyze . Melakukannya akan mengaktifkan kotak dialog Specify Inspection Scope .

Jeff Friesen

Dari kotak dialog, pilih cakupan yang diinginkan (seluruh proyek, dalam hal ini), lalu klik OK untuk memulai pemeriksaan. Hasilnya akan muncul di jendela Hasil Inspeksi , di mana mereka diatur berdasarkan kategori.

Jeff Friesen

Sesuai dengan sifatnya, Lint telah memilih beberapa masalah yang dapat mengacaukan kode aplikasi. Setelah terlihat, mudah untuk memperbaiki tiga peringatan Java yang ditunjukkan pada Gambar 8: cukup deklarasikan androidAnimationprivatedan hapus cast dari dua findViewById()pemanggilan metode.

Selengkapnya tentang Lint

Lihat "Meningkatkan kode Anda dengan pemeriksaan lint" untuk mempelajari lebih lanjut tentang menggunakan Lint di Android Studio, dan untuk mempelajari tentang alat Lint mandiri SDK Android.

Menginstal dan menggunakan plugin Android Studio

Meskipun alat bawaan memiliki kelebihannya, banyak alat lain yang tersedia sebagai plugin. Di bagian ini, kita akan melihat tiga plugin untuk meningkatkan produktivitas pengkodean Anda di Android Studio:

  • Ide ADB
  • Codota
  • Plugin Lombok

Pengelola plugin Android Studio

Pengelola plugin Android Studio membuatnya sangat mudah untuk menemukan dan menginstal plugin. Aktifkan manajer plugin dengan memilih File > Pengaturan diikuti oleh Plugin dari kotak dialog Pengaturan :

Jeff Friesen

Selanjutnya, klik Browse repositories ... untuk mengaktifkan kotak dialog Browse Repositories , yang menampilkan daftar lengkap plugin yang didukung. Kami akan menggunakan dialog ini untuk memilih plugin pertama kami, Ide ADB.

Jeff Friesen

Tingkatkan produktivitas Android Anda

Pintasan kode: Ide ADB

ADB Idea mempercepat pengembangan Android sehari-hari dengan menyediakan akses cepat ke perintah ADB yang umum digunakan, seperti memulai dan mencopot aplikasi.

Pilih ADB Idea di daftar repositori plugin, lalu klik tombol Instal . Android Studio melanjutkan untuk mendownload dan menginstal plugin. Ini kemudian memberi label ulang Install untuk Restart Android Studio . Untuk setiap plugin, saya harus memilih ulang plugin setelah mengklik Restart Android Studio , lalu mengklik tombol ini untuk kedua kalinya untuk memulai ulang Android Studio.

Jeff Friesen

Setelah diinstal, Android Studio memungkinkan Anda mengakses Ide ADB dari menu Alatnya . Pilih Alat> Ide ADB dan pilih perintah yang sesuai dari menu pop-up yang dihasilkan.

Jeff Friesen

Setelah saya memilih ADB Restart App , saya mengamati pesan berikut di jendela Event Log serta aplikasi yang dimulai ulang pada perangkat Amazon Kindle saya.

Jeff Friesen

Temukan kode yang dapat digunakan: Codota

Anda dapat menggunakan plugin Codota untuk mengakses mesin pencari Codota, yang memungkinkan Anda melihat jutaan cuplikan kode sumber Java yang tersedia untuk umum untuk solusi masalah pengkodean Android.

Jeff Friesen

Pilih Codota di daftar repositori plugin dan kemudian klik tombol Install . Setelah Android Studio mengunduh dan menginstal plugin, itu akan memberi label ulang tombol Install untuk Restart Android Studio . Memulai ulang mengaktifkan Codota.

Setelah restart, Anda akan menemukan kotak dialog Codota Authentication . Klik link dan ikuti instruksi untuk menerima token. Kemudian, tempel token ke dalam kotak dialog yang disebutkan di atas dan klik Buka .

Jeff Friesen

Android Studio memungkinkan Anda mengakses Codota dengan mengklik kanan kode Java di jendela editor dan memilih item menu Dapatkan contoh yang relevan , seperti yang ditunjukkan pada Gambar 16.

Jeff Friesen

Mengklik item menu ini menghasilkan browser yang menyajikan halaman dengan contoh kode yang relevan. Misalnya, halaman berikut menyajikan contoh yang relevan dengan findViewById:

Jeff Friesen

Buat kode Java secara otomatis: Lombok

Project Lombok menawarkan serangkaian penjelasan yang dapat Anda gunakan sebagai pengganti kode boilerplate, sehingga menghemat waktu Anda untuk menulis kode ini dengan tangan.

Jeff Friesen

Pilih Plugin Lombok di daftar repositori plugin, lalu klik Instal . Setelah Android Studio mengunduh dan menginstal plugin, itu akan meminta Anda untuk Memulai Ulang Android Studio . Memulai ulang mengaktifkan Lombok Plugin.