Bagaimana Cara Menyempurnakan kode dengan pemeriksaan lint pada ANDROID STUDIO?
Selain memastikan aplikasi Anda memenuhi persyaratan fungsionalnya dengan membuat pengujian, Anda juga harus memastikan kode Anda tidak memiliki masalah struktural dengan menjalankan kode tersebut melalui Lint. Lint membantu menemukan kode yang salah struktur, yang bisa memengaruhi keandalan dan efisiensi aplikasi Android dan menjadikan kode Anda lebih sulit dipelihara.
Misalnya, jika file resource XML Anda berisi namespace yang tidak terpakai, hal itu akan menyita tempat dan mengakibatkan pemrosesan yang tidak perlu. Masalah struktural lainnya, seperti penggunaan elemen yang tidak digunakan lagi atau panggilan API yang tidak didukung oleh versi API target, dapat menyebabkan kode gagal dijalankan dengan benar. Lint dapat membantu Anda mengatasi masalah ini.
Untuk meningkatkan performa lint lebih lanjut, sebaiknya Anda juga menambahkan anotasi ke kode.
Ringkasan
Android Studio menyediakan fitur pemindaian kode yang disebut lint untuk membantu Anda mengidentifikasi dan mengoreksi masalah kualitas struktural kode tanpa perlu mengeksekusi aplikasi atau menulis kasus pengujian. Setiap masalah yang terdeteksi oleh fitur ini akan dilaporkan bersama pesan deskripsi dan tingkat keparahan, sehingga Anda dapat segera memprioritaskan perbaikan penting yang perlu dilakukan. Selain itu, Anda dapat menurunkan tingkat keparahan masalah untuk mengabaikan masalah yang tidak relevan dengan project Anda, atau menaikkan tingkat keparahan untuk menonjolkan masalah tertentu.
Lint memeriksa file sumber project Android Anda untuk mendeteksi potensi bug dan mengidentifikasi peluang pengoptimalan untuk akurasi, keamanan, performa, kegunaan, aksesibilitas, dan internasionalisasi. Saat menggunakan Android Studio, lint dan pemeriksaan IDE yang telah dikonfigurasi akan dijalankan setiap kali Anda menjalankan proses build. Namun, Anda dapat menjalankan pemeriksaan secara manual atau menjalankan lint dari command line.
Catatan: Jika kode Anda dikompilasi di Android Studio, pemeriksaan kode IntelliJ tambahan dijalankan untuk mengefisienkan peninjauan kode.
Gambar 1 menampilkan cara fitur lint memproses file sumber aplikasi.

Gambar 1. Alur kerja pemindaian kode dengan fitur lint
- File sumber aplikasi
- File sumber terdiri dari file yang menyusun project Android Anda, termasuk file Java, Kotlin, dan XML, ikon, dan file konfigurasi ProGuard.
- File
lint.xml - File konfigurasi yang dapat Anda gunakan untuk menetapkan pemeriksaan lint yang ingin Anda kecualikan dan menyesuaikan tingkat keparahan masalah.
- Fitur lint
- Fitur pemindaian kode statis yang dapat Anda jalankan pada project Android dari command line atau di Android Studio (lihat Menjalankan Pemeriksaan Secara Manual). Lint memeriksa masalah struktural kode yang dapat memengaruhi kualitas dan performa aplikasi Android Anda. Sebaiknya Anda mengoreksi setiap kesalahan yang dideteksi oleh lint sebelum memublikasikan aplikasi.
- Hasil pemeriksaan lint
- Anda dapat menampilkan hasil lint di konsol atau di jendela Inspection Results pada Android Studio. Lihat Menjalankan pemeriksaan secara manual.
Menjalankan lint dari command line
Jika menggunakan Android Studio atau Gradle, Anda dapat menggunakan wrapper Gradle untuk memanggil tugas
lint untuk project Anda dengan memasukkan salah satu perintah berikut dari direktori root project Anda:- Pada Windows:
- Pada Linux atau Mac:
Anda akan melihat output yang mirip dengan berikut ini:
Setelah menyelesaikan pemeriksaan, lint akan menyediakan jalur ke laporan lint versi XML dan HTML. Selanjutnya, Anda dapat mengakses laporan HTML dan membukanya di browser, seperti yang ditunjukkan pada gambar 2.

Gambar 2. Contoh laporan lint versi HTML
Jika project Anda menyertakan varian build, dan Anda ingin menjalankan tugas
lint untuk varian build tertentu saja, Anda harus mengawali nama varian dengan huruf besar dan menambahkan awalan lint.
Untuk mempelajari lebih lanjut cara menjalankan tugas Gradle dari command line, baca Membuat Aplikasi dari Command Line.
Menjalankan lint menggunakan fitur mandiri
Jika tidak menggunakan Android Studio atau Gradle, Anda dapat menggunakan fitur mandiri setelah menginstal Android SDK Tools dari SDK Manager. Anda dapat menemukan fitur lint di direktori
android_sdk/tools/.
Untuk menjalankan lint pada daftar file dalam sebuah direktori project, gunakan perintah berikut:
Misalnya, Anda dapat membuat perintah berikut untuk memindai file dalam direktori
myproject dan subdirektorinya. ID masalah MissingPrefix memberi tahu lint untuk hanya memindai atribut XML yang tidak memiliki awalan namespace Android.
Untuk melihat daftar lengkap flag dan argumen command-line yang didukung oleh fitur ini, gunakan perintah berikut:
Contoh berikut menampilkan output konsol saat perintah lint dijalankan pada project yang bernama Earthquake.
Output di atas mencantumkan empat peringatan dan nol error: tiga peringatan (
ManifestOrder, UsesMinSdkAttributes, dan UnusedResources) dalam file AndroidManifest.xml project, dan satu peringatan (IconMissingDensityFolder) dalam file tata letak Preferences.xml.Mengonfigurasi lint untuk menyembunyikan peringatan
Secara default, saat Anda menjalankan pemindaian lint, fitur ini akan memeriksa semua masalah yang didukung lint. Anda juga dapat membatasi masalah yang akan diperiksa lint dan menetapkan tingkat keparahannya. Misalnya, Anda dapat menyembunyikan pemeriksaan lint untuk masalah tertentu yang tidak relevan dengan project Anda, dan Anda dapat mengonfigurasi lint agar melaporkan masalah yang tidak begitu penting pada tingkat keparahan yang lebih rendah.
Anda dapat mengonfigurasi pemeriksaan lint dengan beberapa tingkat:
- Global (keseluruhan project)
- Modul project
- Modul produksi
- Modul pengujian
- File terbuka
- Hierarki class
- Cakupan Sistem Kontrol Versi (VCS)
Mengonfigurasi lint di Android Studio
Fitur lint bawaan akan memeriksa kode selagi Anda menggunakan Android Studio. Anda dapat menampilkan peringatan dan error dengan dua cara:
- Sebagai teks pop-up di Code Editor. Saat menemukan masalah, lint akan menyorot kode yang bermasalah dengan warna kuning, atau untuk masalah yang lebih serius, menggarisbawahinya dengan warna merah.
- Di jendela Inspection Results lint setelah Anda mengklik Analyze > Inspect Code. Lihat Menjalankan pemeriksaan secara manual.
Mengonfigurasi file lint
Anda dapat menentukan preferensi pemeriksaan lint dalam file
lint.xml. Jika Anda membuat file ini secara manual, tempatkan file tersebut di direktori root project Android Anda.
File
lint.xml terdiri dari sebuah tag induk <lint> penutup yang berisi satu atau beberapa elemen <issue>turunan. Lint menetapkan nilai atribut id unik untuk setiap <issue>.
Anda dapat mengubah tingkat keparahan masalah atau menonaktifkan pemeriksaan lint untuk masalah dengan menyetel atribut keparahannya dalam tag
<issue>.
Tips: Untuk daftar lengkap masalah yang didukung oleh lint beserta ID masalah yang terkait, jalankan perintah
lint --list.File contoh lint.xml
Contoh berikut menunjukkan isi file
lint.xml.Mengonfigurasi pemeriksaan lint untuk file sumber Java, Kotlin, dan XML
Anda dapat menonaktifkan lint agar tidak memeriksa file sumber Java, Kotlin, dan XML.
Tips: Anda dapat mengelola fitur pemeriksaan lint untuk file sumber Java, Kotlin, atau XML dalam dialog Default Preferences. Pilih File > Other Settings > Default Settings, lalu pada panel kiri dialog Default Preferences, pilih Editor > Inspections.
Mengonfigurasi pemeriksaan lint di Java atau Kotlin
Untuk menonaktifkan pemeriksaan lint khusus untuk class atau metode dalam project Android Anda, tambahkan anotasi
@SuppressLint ke kode tersebut.
Contoh berikut menunjukkan bagaimana Anda dapat menonaktifkan pemeriksaan lint untuk masalah
NewApidalam metode onCreate. Lint akan terus memeriksa masalah NewApi dalam metode lain untuk kelas ini.
Contoh berikut menunjukkan cara menonaktifkan pemeriksaan lint untuk masalah
ParserError pada kelas FeedProvider:
Untuk menyembunyikan pemeriksaan atas semua masalah lint dalam file ini, gunakan kata kunci
all, seperti ini:Mengonfigurasi pemeriksaan lint di XML
Anda dapat menggunakan atribut
tools:ignore guna menonaktifkan pemeriksaan lint untuk bagian tertentu dari file XML Anda. Masukkan nilai namespace berikut dalam file lint.xml agar lint mengenali atribut tersebut:
Contoh berikut menunjukkan cara menonaktifkan pemeriksaan lint untuk masalah
UnusedResources dalam elemen <LinearLayout> dari sebuah file tata letak XML. Atribut ignore diwarisi oleh elemen turunan dari elemen induk tempat atribut tersebut dideklarasikan. Dalam contoh ini, pemeriksaan lint juga dinonaktifkan untuk elemen <TextView> turunan.
Untuk menonaktifkan lebih dari satu masalah, cantumkan masalah tersebut dalam string yang dipisah koma. Contoh:
Untuk menyembunyikan pemeriksaan atas semua masalah lint dalam elemen XML, gunakan kata kunci
all, seperti ini:Mengonfigurasi opsi lint dengan Gradle
Plugin Android untuk Gradle memungkinkan Anda mengonfigurasi opsi lint tertentu, seperti pemeriksaan mana yang akan dijalankan atau diabaikan, menggunakan blok
lintOptions {} dalam file build.gradle tingkat modul Anda. Cuplikan kode berikut menampilkan beberapa properti yang dapat Anda konfigurasi:Membuat baseline peringatan
Anda dapat mengambil snapshot dari kumpulan peringatan saat ini untuk project Anda, lalu menggunakan snapshot tersebut sebagai baseline untuk inspeksi selanjutnya sehingga hanya masalah baru yang dilaporkan. Snapshot baseline memungkinkan Anda mulai menggunakan lint untuk menggagalkan build tanpa harus kembali dan mengatasi semua masalah yang ada terlebih dahulu.
Untuk membuat snapshot baseline, ubah file
build.gradle project Anda sebagai berikut.
Saat Anda menambahkan baris ini untuk pertama kalinya, file
lint-baseline.xml akan dibuat untuk menetapkan baseline Anda. Selanjutnya, fitur hanya membaca file tersebut untuk menentukan baseline. Jika Anda ingin membuat baseline baru, hapus file secara manual dan jalankan lagi lint untuk membuat file itu kembali.
Kemudian, jalankan lint dari IDE (Analyze > Inspect Code) atau dari command line sebagai berikut. Output-nya akan mencetak lokasi file
lint-baseline.xml. Lokasi file untuk konfigurasi Anda mungkin berbeda dengan yang ditampilkan di sini.
Menjalankan
lint akan merekam semua masalah terbaru dalam file lint-baseline.xml. Kumpulan masalah terbaru ini disebut baseline, dan Anda dapat melihat file lint-baseline.xml dalam kontrol versi jika ingin membagikannya kepada orang lain.Menyesuaikan baseline
Jika ingin menambahkan beberapa jenis masalah ke baseline, tetapi tidak semuanya, Anda dapat menentukan masalah yang akan ditambahkan dengan mengedit
build.gradle project Anda, sebagai berikut.
Setelah membuat baseline, jika Anda menambahkan peringatan baru ke codebase, lint hanya akan mencantumkan bug yang baru diperkenalkan.
Peringatan baseline
Jika baseline diberlakukan, Anda akan menerima informasi peringatan yang memberitahukan bahwa satu atau beberapa masalah dikesampingkan karena sudah tercantum di baseline. Peringatan ini dimunculkan untuk membantu Anda mengingat bahwa Anda telah mengonfigurasi baseline karena, idealnya, Anda tentu ingin memperbaiki semua masalah ini pada suatu tahap tertentu.
Informasi peringatan ini tidak hanya memberitahukan jumlah pasti error dan peringatan yang dikesampingkan, tetapi juga melacak masalah yang tidak dilaporkan lagi. Melalui informasi ini Anda dapat mengetahui apakah Anda telah benar-benar menyelesaikan masalah sehingga, jika ingin, Anda dapat membuat ulang baseline untuk mencegah error tidak terdeteksi kembali.
Catatan: Baseline diaktifkan saat Anda menjalankan pemeriksaan dalam mode batch di IDE, tetapi diabaikan untuk pemeriksaan dalam-editor yang berjalan di latar belakang saat Anda mengedit file. Alasannya adalah baseline dimaksudkan untuk kasus ketika codebase memiliki sejumlah besar peringatan yang ada, tetapi Anda ingin memperbaiki masalah secara lokal sewaktu menangani kode.
Menjalankan pemeriksaan secara manual
Anda dapat menjalankan lint yang telah dikonfigurasi dan inspeksi IDE lainnya secara manual dengan memilih Analyze > Inspect Code. Hasil pemeriksaan akan muncul di jendela Inspection Results.
Menetapkan cakupan dan profil pemeriksaan
Pilih file yang ingin Anda analisis (cakupan pemeriksaan) dan pemeriksaan yang ingin Anda jalankan (profil pemeriksaan), sebagai berikut:
- Di tampilan Android, buka project Anda dan pilih project, folder, atau file yang ingin Anda analisis.
- Dari panel menu, pilih Analyze > Inspect Code.
- Pada dialog Specify Inspection Scope, periksa setelan.
Gambar 3. Memeriksa setelan cakupan inspeksiKombinasi opsi yang muncul dalam dialog Specify Inspection Scope berbeda-beda tergantung project, folder, atau file yang dipilih. Anda dapat mengubah apa yang akan diperiksa dengan memilih salah satu tombol pilihan lainnya. Lihat dialog Specify inspection scope untuk deskripsi mengenai semua kolom yang bisa dipilih pada dialog Specify Inspection Scope.- Saat Anda memilih satu project, file, atau direktori, dialog Specify Inspection Scope akan menampilkan jalur ke Project, File, atau Directory yang Anda pilih.
- Saat Anda memilih lebih dari satu project, file, atau direktori, dialog Specify Inspection Scope akan menampilkan tombol pilihan yang telah dicentang untuk Selected files.
- Pada Inspection profile, pertahankan profil default (Project Default).
- Klik OK untuk menjalankan pemeriksaan. Gambar 4 menunjukkan hasil pemeriksaan lint dan IDE lainnya setelah menjalankan Inspect Code:
Gambar 4. Memilih masalah untuk melihat penyelesaiannya - Pada tampilan hierarki panel kiri, lihat hasil pemeriksaan dengan meluaskan dan memilih kategori, jenis, dan masalah error.Panel kanan menampilkan laporan pemeriksaan untuk kategori, jenis, atau masalah error yang dipilih, dan menyediakan nama serta lokasi error tersebut. Jika ada, laporan pemeriksaan akan menampilkan informasi lainnya seperti ringkasan masalah untuk membantu Anda mengoreksi masalah tersebut.
- Pada tampilan hierarki panel kiri, klik kanan sebuah kategori, jenis, atau masalah untuk menampilkan menu konteksnya.Bergantung pada konteksnya, Anda dapat melakukan semua atau sebagian dari berikut ini: langsung masuk ke sumber, mengecualikan dan menyertakan item yang dipilih, menyembunyikan masalah, mengedit setelan, mengelola peringatan pemeriksaan, dan menjalankan kembali pemeriksaan.
Untuk deskripsi tombol-tombol Toolbar di sebelah kiri, item menu konteks, dan kolom laporan pemeriksaan, lihat Jendela Inspection Tool.
Menggunakan cakupan kustom
Anda dapat menggunakan salah satu cakupan kustom yang disediakan di Android Studio, sebagai berikut:
- Dalam dialog Specify Inspection Scope, klik Custom scope.
- Klik menu drop-down Custom scope untuk menampilkan berbagai opsi.
Gambar 5. Pilih cakupan kustom yang ingin Anda gunakan- Project Files: Semua file dalam project saat ini.
- Project Production Files: Hanya file produksi dalam project saat ini.
- Project Test Files: Hanya file pengujian dalam project saat ini. Lihat Jenis dan lokasi pengujian.
- Open Files: Hanya file yang terbuka dalam project saat ini.
- Module <modul-Anda>: Hanya file dalam folder modul terkait dalam project saat ini.
- Current File: Hanya file terbaru dalam project saat ini. Ditampilkan jika Anda telah memilih file atau folder.
- Class Hierarchy: Jika Anda memilih ini dan mengklik OK, sebuah dialog akan muncul dan menampilkan semua class dalam project saat ini. Gunakan kolom Search by Name dalam dialog tersebut untuk memfilter dan memilih class yang akan diperiksa. Jika Anda tidak memfilter daftar class, pemeriksaan kode akan memeriksa semua class.
- Klik OK.
Membuat cakupan kustom
Jika ingin memeriksa sekumpulan file dan direktori yang tidak termasuk dalam salah satu cakupan kustom yang tersedia saat ini, Anda dapat membuat sebuah cakupan kustom.
- Dalam dialog Specify Inspection Scope, pilih Custom scope.
- Klik tiga titik setelah menu drop-down Custom Scope.
Gambar 6. Dialog Specify Inspection ScopeDialog Scopes akan muncul.
Gambar 7. Membuat cakupan kustom - Klik Add
untuk menentukan cakupan baru. - Dalam menu drop-down Add Scope yang dihasilkan, pilih Local.Baik cakupan lokal maupun cakupan bersama digunakan dalam project untuk fitur Inspect Code. Cakupan Shared juga dapat digunakan bersama fitur project lainnya yang memiliki kolom cakupan. Misalnya, saat Anda mengklik Edit Settings
untuk mengubah setelan untuk Find Usages, dialog yang dihasilkan memiliki kolom Scope tempat Anda dapat memilih cakupan bersama.
Gambar 8. Memilih cakupan bersama dari dialog Find Usages - Namai cakupan tersebut, lalu klik OK.Panel kanan dialog Scopes terisi dengan opsi yang memungkinkan Anda menetapkan cakupan kustom.
- Dari menu drop-down, pilih Project.Daftar project yang tersedia akan ditampilkan.Catatan: Anda dapat membuat cakupan kustom untuk project atau paket. Langkah-langkahnya sama.
- Luaskan folder project, pilih mana yang ingin Anda tambahkan ke cakupan kustom, lalu klik salah satu tombol di sebelah kanan.
Gambar 9. Menentukan cakupan kustom- Include: Menyertakan folder ini dan file-filenya, tetapi tidak menyertakan subfoldernya.
- Include Recursively: Menyertakan folder ini dan semua file serta subfoldernya, juga file-file di dalamnya.
- Exclude: Mengecualikan folder ini dan file-filenya, tetapi tidak mengecualikan subfoldernya.
- Exclude Recursively: Mengecualikan folder ini dan semua file serta subfoldernya, juga file-file di dalamnya.
Gambar 9 menunjukkan bahwa folder main disertakan, dan folder java disertakan secara rekursif. Warna biru menunjukkan folder yang disertakan sebagian, dan warna hijau menunjukkan folder dan file yang disertakan secara rekursif.
Gambar 10. Contoh pola untuk cakupan kustom- Jika Anda memilih folder java dan mengklik Exclude Recursively, sorotan hijau akan hilang pada folder java dan semua folder serta file di bawahnya.
- Jika Anda memilih file MainActivity.java yang disorot hijau dan mengklik Exclude, MainActivity.javatidak lagi disorot hijau tetapi item lain yang ada pada folder java akan disorot hijau.
- Klik OK. Cakupan kustom muncul di bagian bawah menu drop-down.
Meninjau dan mengedit profil pemeriksaan
Android Studio menyertakan serangkaian profil lint dan profil pemeriksaan lainnya yang diperbarui melalui update Android. Anda dapat menggunakan profil ini apa adanya atau mengedit nama, deskripsi, keparahan, dan cakupannya. Anda juga dapat mengaktifkan dan menonaktifkan seluruh grup profil atau satu per satu profil dalam sebuah grup.
Untuk mengakses dialog Inspections:
- Pilih Analyze > Inspect Code.
- Dalam dialog Specify Scope pada Inspection Profile, klik More.Dialog Inspections akan muncul beserta daftar pemeriksaan yang didukung dan deskripsinya.
Gambar 11. Pemeriksaan yang didukung dan deskripsinya - Pilih menu drop-down Profile untuk beralih antara pemeriksaan Default (Android Studio) dan Project Default (project aktif). Untuk informasi selengkapnya, lihat halaman Dialog Specify Inspection ScopeIntelliJ.
- Pada dialog Inspections di panel kiri, pilih kategori profil level teratas, atau luaskan sebuah grup dan pilih profil tertentu. Jika memilih sebuah kategori profil, Anda dapat mengedit semua pemeriksaan dalam kategori itu sebagai pemeriksaan tunggal.
- Pilih menu drop-down Manage untuk menyalin, mengganti nama, menambahkan deskripsi, mengekspor, dan mengimpor pemeriksaan.
- Setelah selesai, klik OK.
Komentar
Posting Komentar