Android Studio untuk pemula, Bahagian 4: Alat penyahpepijatan dan pemalam produktiviti

Dikemas kini: Januari 2020.

Android Studio menawarkan palet alat pembangunan terpadu yang kaya, dan ekosistem pemalam yang lebih banyak lagi. Tiga artikel pertama dalam siri ini tertumpu pada pemasangan dan penyediaan serta pengekodan dan menjalankan aplikasi mudah alih mudah dengan Android Studio. Sekarang anda akan berkenalan dengan beberapa alat yang lebih maju: tiga alat bawaan dan tiga pemalam untuk menyahpepijat dan meningkatkan kualiti dan produktiviti kod aplikasi Android anda.

Artikel ini memperkenalkan alat berikut untuk Android Studio:

Alat penyahpepijatan terbina dalam

  • Logcat
  • Nyahpepijat
  • Lint

Pemalam untuk produktiviti pembangun

  • Idea ADB
  • Kodota
  • Plugin Lombok

Apa yang baru di Android Studio 3.5

Ketahui apa yang perlu dicari dalam versi terbaru Android Studio, termasuk sokongan untuk Kotlin dan peningkatan pengurusan memori dan responsif UI.

Log dan debug aplikasi Android

Aplikasi kereta adalah cara yang pasti untuk mengusir bakal pelanggan. Logcat dan Debug adalah dua alat yang terdapat di Android Studio, yang boleh anda gunakan untuk mengenal pasti dan memperbaiki bug dalam kod Android anda.

Log masuk Android: Logcat

Anda mungkin tidak memerlukan atau menginginkan debugger penuh untuk setiap senario "buggy". Dalam beberapa kes, memadai untuk log dan membetulkan nilai pemboleh ubah tertentu. Logcat Android Studio sangat sesuai untuk tugas ini.

Logcat adalah alat baris perintah (diintegrasikan ke dalam Android Debug Bridge - ADB) yang membuang log mesej sistem yang dapat membantu anda mencari dan menyelesaikan masalah dalam kod anda. Mesej merangkumi jejak timbunan apabila peranti melakukan kesalahan, dan log mesej yang telah anda masukkan ke android.util.Logkelas dengan sengaja . Logcat sangat berguna sehingga disatukan terus ke Android Studio, di mana anda dapat mengaksesnya dari menu View atau bar tetingkap alat.

Jeff Friesen

The Logcat tetingkap dibahagikan kepada berturut-turut mendatar drop-down senarai dan kawalan lain diikuti dengan kawasan mesej. Dari kiri ke kanan, kawalannya adalah:

  • Senarai drop-down yang mengenal pasti peranti dan emulator yang bersambung. (Lihat Rajah 1.)
  • Senarai drop-down yang mengenal pasti pakej APK yang dipasang pada peranti yang dipilih.
  • Senarai drop-down tahap pembalakan:
    • Kata kerja: tunjukkan semua mesej.
    • Debug: tunjukkan mesej log debug yang berguna semasa pembangunan sahaja, dan juga tahap mesej yang lebih rendah dalam senarai juntai bawah.
    • Maklumat: tunjukkan mesej log yang diharapkan untuk penggunaan biasa, serta tahap mesej yang lebih rendah dalam senarai drop-down.
    • Amaran: tunjukkan kemungkinan masalah yang belum menjadi kesalahan, serta tahap mesej lebih rendah dalam senarai juntai bawah.
    • Ralat: menunjukkan masalah yang menyebabkan ralat - pengecualian yang dilemparkan, dan juga tahap mesej Tegaskan.
    • Tegaskan: tunjukkan masalah yang tidak diharapkan oleh pembangun.
  • Bar carian di mana satu-satunya mesej yang muncul adalah yang mengandungi teks yang anda taipkan dalam kawalan ini.
  • Kotak centang yang membolehkan anda menggunakan ungkapan biasa di bar carian. Sebagai contoh, dalam konteks Gambar 1, anda mungkin menentukan SystemClock | AlarmManager (iaitu, mesej mesti mengandungi kedua-dua perkataan).
  • Senarai drop-down untuk menyaring mesej, termasuk pilihan berikut:
    • Tanpa Penapis (lalai) menyebabkan semua mesej untuk peranti yang dipilih muncul, tanpa mengira paket APK yang dipilih.
    • Tunjukkan hanya aplikasi terpilih yang hanya menyajikan pesan-pesan untuk pakej APK yang dipilih pada peranti yang dipilih, yang berada di tahap log yang sesuai atau lebih rendah.
    • Edit Konfigurasi Penapis membolehkan anda membuat penapis tersuai.

Dalam kod sumber, anda boleh memasukkan panggilan ke pelbagai android.util.Logkaedah untuk log mesej. Sebagai contoh, anda mungkin memanggil public static int i(String tag, String msg)untuk log INFOmesej-tingkat, atau public static int w(String tag, String msg)untuk log WARNmesej-tingkat.

Untuk kedua-dua kaedah tersebut, rentetan diteruskan untuk tagmengenal pasti sumber pesan (misalnya, metode di mana metode log ini dipanggil), dan rentetan dilewati untuk msgmengidentifikasi pesan yang sedang dicatat.

Sebagai alternatif, anda boleh memanggil System.out's dan System.err' s print()dan println()kaedah. Panggilan ke System.outkaedah mencapai perkara yang sama seperti log.i()panggilan; panggilan ke System.errkaedah mencapai perkara yang sama seperti log.w()panggilan.

Jeff Friesen

Dalam Gambar 2, satu-satunya mesej yang ditunjukkan adalah untuk contoh proses aplikasi yang berjalan pada peranti Nexus 5X yang ditiru. Selanjutnya, mesej ini mesti mengandungi onCreatedan diterima oleh saringan aplikasi Tunjuk pilihan sahaja .

Lebih banyak mengenai Logcat

Lihat "Tulis dan Lihat Log dengan Logcat" Google untuk mengetahui lebih lanjut mengenai Logcat. Kaji juga android.util.Logdokumentasi kelas.

Menyahpepijat Android: Debug

Menggunakan Logcat untuk log dan membetulkan kod tidak mengapa untuk aplikasi yang sangat mudah. Untuk aplikasi yang lebih rumit, bentuk penyahpepijatan ini boleh membosankan. Sebaliknya anda akan menginginkan sesuatu yang membolehkan anda menyahpepijat kod yang boleh dilaksanakan aplikasi. Alat Debug bawaan Android Studio menawarkan banyak keupayaan, termasuk yang berikut:

  • Pilih peranti yang digunakan untuk menyahpepijat aplikasi anda.
  • Tetapkan titik putus dalam kod aplikasi anda (Java, Kotlin, atau C / C ++).
  • Meneliti pemboleh ubah dan menilai ungkapan pada waktu berjalan.

Terdapat beberapa prasyarat sebelum menggunakan alat debug ini:

  1. Sekiranya aplikasi anda menyertakan kod sumber C / C ++, anda perlu memasang LLDB dari SDK Manager (lihat Gambar 3). Nasib baik, aplikasi contoh untuk siri ini ( W2A ) tidak mengandungi kod C / C ++, jadi kami dapat mengabaikan prasyarat ini.

    Jeff Friesen

  2. Anda mesti mengaktifkan penyahpepijatan pada peranti yang disambungkan. Walau bagaimanapun, jika anda menggunakan emulator (yang kami contohi ini), anda boleh mengabaikan prasyarat ini. Debugging diaktifkan secara lalai pada peranti yang ditiru.
  3. Anda mesti menjalankan varian binaan yang boleh didebug. Secara lalai, ini dibuat untuk anda, jadi dalam banyak kes (termasuk contoh ini) anda tidak perlu risau.

Mari jalani sesi debug cepat.

Penyahpepijatan Android ringkas

Dengan andaian anda menjalankan Android Studio dengan tetingkap editor untuk aplikasi contoh ( W2A.java ) terbuka, langkah pertama anda adalah menetapkan titik putus di public void onCreate(Bundle savedInstanceState)talian. Tetapkan titik putus dengan menonjolkan garis ini dan lakukan salah satu perkara berikut:

  • Klik kawasan selokan di sebelah kiri garisan; garis harus bertukar menjadi merah jambu sebagai tindak balas.
  • Pilih Toggle Line Breakpoint dari menu Run .
  • Tekan Ctrl dan F8 secara serentak.

Sekarang pilih 'aplikasi' Debug dari menu Jalankan , atau klik ikon yang sesuai pada bar alat. Sekiranya emulator tidak berjalan, anda akan melihat kotak dialog Select Deployment Target . Saya memilih Nexus 5X API 15 dan mengklik OK .

Semasa anda menunggu peranti yang dicontohi online, klik butang Debug pada bar tetingkap alat untuk memaparkan tetingkap Debug . Akhirnya, anda akan melihat sesuatu yang serupa dengan Gambar 4.

Jeff Friesen

The Debug tetingkap menyediakan ikon untuk melangkah lebih, ke dalam, dan keluar dari kaedah, dan banyak lagi. Rajah 5 menunjukkan apa yang berlaku semasa kita melangkah kaedah.

Jeff Friesen

Klik ikon yang sesuai dan pilih Step Over dari menu Run , atau tekan F8 . Ini membolehkan kita terus masuk ke dalam onCreate()kaedah sambil melangkah ke setiap panggilan kaedah.

Pilih baris dengan }watak penutup untuk onCreate()kaedah, kemudian pilih Run to Cursor . Anda akan menerima pemberitahuan bahawa aplikasi sedang berjalan. Setelah membuka kunci peranti, anda akan melihat tetingkap aktiviti aplikasi contoh.

Jeff Friesen

Lebih lanjut mengenai Debug

Lihat "Debug aplikasi anda" Google untuk mengetahui lebih lanjut mengenai penyahpepijatan di Android Studio; contohnya, bagaimana menggunakan pelbagai jenis titik putus.

Menyahpepijat dengan GAPID

Walaupun tidak dilindungi di sini, saya sarankan untuk memeriksa GAPID: Graphics API Debugger, koleksi alat debug yang memungkinkan anda memeriksa, mengubah dan memutar ulang panggilan dari aplikasi Android ke pemacu grafik.

Pemeriksaan kod dengan Lint

Tidak kira seberapa teliti anda menulisnya, kod sumber anda mungkin mengandungi pepijat, masalah gaya, dan mungkin merujuk sumber yang tidak aktif untuk satu sebab atau yang lain. A linter adalah sejenis alat yang mengimbas kod sumber untuk bukti ini dan bit lain kegebuan jahat, yang ia melaporkan kepada pemaju.

Lint adalah linter bawaan untuk Android SDK. Anda dapat menggunakannya untuk mencari masalah seperti elemen usang dan panggilan API yang tidak disokong oleh API sasaran anda.

Untuk menjalankan Lint dari dalam Android Studio, pilih Inspect Code ... dari menu Analisis . Melakukannya mengaktifkan kotak dialog Tentukan Skop Pemeriksaan .

Jeff Friesen

Dari kotak dialog, pilih ruang lingkup yang diinginkan (keseluruhan projek, dalam kes ini), kemudian klik OK untuk memulakan pemeriksaan. Hasilnya akan muncul di tetingkap Hasil Pemeriksaan , di mana hasilnya disusun mengikut kategori.

Jeff Friesen

Sesuai dengan sifatnya, Lint telah memilih beberapa kepingan bulu yang dapat mengacaukan kod aplikasi. Setelah dilihat, mudah untuk memperbaiki tiga amaran Java yang ditunjukkan dalam Gambar 8: hanya menyatakan androidAnimationprivatedan mengeluarkan pemain dari dua findViewById()kaedah panggilan.

Lebih lanjut mengenai Lint

Lihat "Tingkatkan kod anda dengan pemeriksaan serat" untuk mengetahui lebih lanjut tentang penggunaan Lint di Android Studio, dan untuk mengetahui tentang alat Lint yang berdiri sendiri Android SDK.

Memasang dan menggunakan pemalam Android Studio

Walaupun alat bawaan mempunyai kelebihan, banyak alat lain tersedia sebagai pemalam. Di bahagian ini, kita akan melihat tiga pemalam untuk meningkatkan produktiviti pengekodan anda di Android Studio:

  • Idea ADB
  • Kodota
  • Plugin Lombok

Pengurus pemalam Android Studio

Pengurus pemalam Android Studio menjadikannya sangat mudah untuk mencari dan memasang pemalam. Aktifkan pengurus pemalam dengan memilih Fail > Tetapan diikuti dengan Pemalam dari kotak dialog Tetapan :

Jeff Friesen

Seterusnya, klik Browse repositori ... untuk mengaktifkan kotak dialog Browse Repositories , yang menampilkan senarai lengkap plugin yang disokong. Kami akan menggunakan dialog ini untuk memilih plugin pertama kami, ADB Idea.

Jeff Friesen

Tingkatkan produktiviti Android anda

Pintasan kod: IdB ADB

ADB Idea mempercepat pengembangan Android sehari-hari dengan menyediakan akses cepat ke perintah ADB yang biasa digunakan, seperti memulakan dan menyahpasang aplikasi.

Pilih IdB ADB dalam senarai repositori plugin, kemudian klik butang Pasang . Android Studio terus memuat turun dan memasang pemalam. Ia kemudian memasang semula Pemasangan untuk Memulakan Semula Android Studio . Untuk setiap plugin, saya harus memilih semula plugin setelah mengklik Restart Android Studio , dan kemudian klik butang ini untuk kedua kalinya untuk memulakan semula Android Studio.

Jeff Friesen

Setelah dipasang, Android Studio membolehkan anda mengakses IdB ADB dari menu Alatnya . Pilih Alat> IdB ADB dan pilih arahan yang sesuai dari menu pop timbul yang dihasilkan.

Jeff Friesen

Setelah saya memilih ADB Restart App , saya melihat mesej berikut di tetingkap Log Peristiwa dan juga aplikasi yang dimulakan semula pada peranti Amazon Kindle saya.

Jeff Friesen

Cari kod yang boleh digunakan: Codota

Anda boleh menggunakan plugin Codota untuk mengakses mesin carian Codota, yang membolehkan anda melihat berjuta-juta coretan kod sumber Java yang tersedia untuk umum untuk penyelesaian masalah pengekodan Android.

Jeff Friesen

Pilih Codota dalam senarai repositori pemalam dan kemudian klik butang Pasang . Setelah Android Studio memuat turun dan memasang pemalam, ia akan melabel semula butang Pasang untuk Memulakan Semula Android Studio . Memulakan semula mengaktifkan Codota.

Setelah dimulakan semula, anda akan menemui kotak dialog Pengesahan Codota . Klik pautan dan ikuti arahan untuk menerima token. Kemudian, tampal token ke dalam kotak dialog yang disebutkan di atas dan klik Pergi .

Jeff Friesen

Android Studio membolehkan anda mengakses Codota dengan mengklik kanan pada kod Java di tetingkap editor dan memilih item menu Dapatkan contoh yang relevan , seperti yang ditunjukkan pada Gambar 16.

Jeff Friesen

Mengklik item menu ini menyebabkan penyemak imbas menyajikan halaman dengan contoh kod yang berkaitan. Sebagai contoh, halaman berikut menunjukkan contoh yang berkaitan dengan findViewById:

Jeff Friesen

Autogenerate kod Java: Lombok

Project Lombok menawarkan satu set anotasi yang boleh anda gunakan sebagai pengganti kod plat boiler, sehingga menjimatkan masa anda menulis kod ini dengan tangan.

Jeff Friesen

Pilih Lombok Plugin dalam senarai repositori plugin, kemudian klik Pasang . Setelah Android Studio memuat turun dan memasang pemalam, ia akan meminta anda memulakan semula Android Studio . Memulakan semula mengaktifkan Lombok Plugin.