Melaporkan bug

Ikuti langkah-langkah di halaman ini untuk menyelesaikan laporan bug. Resource untuk memperbaiki bug jumlahnya terbatas sehingga bug yang memiliki informasi lengkap akan diprioritaskan. Laporan bug yang tidak lengkap akan ditutup. Jika hal ini terjadi, kirimkan ulang bug Anda dengan menyertakan informasi tambahan.

Untuk membantu memastikan bahwa Anda tidak melaporkan bug yang telah diperbaiki, pastikan Anda menggunakan versi alat terbaru. Anda juga dapat menelusuri masalah serupa di Issue tracker Android Studio untuk mengetahui apakah masalah yang Anda alami telah dilaporkan atau belum.

Cara melaporkan bug

Untuk melaporkan bug, ikuti langkah-langkah berikut:

  1. Untuk membuka laporan bug dari Android Studio, pilih Help > Submit Feedback.

    Ini adalah cara termudah untuk memulai bug karena laporan bug akan terisi dengan versi Android Studio, versi Kotlin atau Java, dan informasi sistem yang diperlukan untuk mereproduksi masalah dengan tepat.

    Anda juga dapat melaporkan bug di sini dan menambahkan sendiri informasi versi.

  2. Lampirkan laporan diagnostik sehingga kami dapat men-debug masalah Anda. Untuk membuat file zip laporan diagnostik, klik Help > Collect Logs and diagnostik Data.

  3. Jelaskan langkah-langkah mereproduksi masalah secara persis. Kirimkan sebanyak mungkin informasi, seperti cuplikan kode, project GitHub yang dapat digunakan untuk mereproduksi bug, dan screenshot atau rekaman hal yang Anda amati.

  4. Jelaskan masalahnya secara mendetail. Jelaskan hasil yang Anda harapkan dan apa yang telah Anda amati.

  5. Pilih judul deskriptif untuk laporan bug. Menggunakan judul yang lebih deskriptif akan memudahkan pengurutan berdasarkan masalah.

Untuk bug tertentu, kami memerlukan informasi tambahan, seperti yang dijelaskan di bagian berikut:

Detail untuk bug Android Studio

Untuk melaporkan bug khusus Android Studio, sertakan informasi tambahan seperti yang dijelaskan di bagian ini.

Jika IDE hang

Jika IDE terlihat sangat lambat atau terhenti sama sekali, buat beberapa thread dump seperti yang dijelaskan di halaman ini, lalu lampirkan ke laporan bug. Thread dump menunjukkan aktivitas yang dilakukan IDE sehingga memperlambat performanya.

Jika IDE lambat, tetapi tidak berhenti bekerja, lampirkan file idea.log ke laporan bug. Untuk melampirkan file, pilih Help > Collect Logs and Diagnostik Data atau Help > Show Log in Files (Help > Show Log in Finder di macOS). File ini akan menunjukkan apakah IDE memunculkan error ke dalam log atau tidak.

Menggunakan profil CPU untuk mendiagnosis kelambatan

Jika Android Studio melambat, gunakan profil CPU karena terkadang dapat membantu mendiagnosis masalah.

Ikuti langkah-langkah berikut untuk merekam profil CPU menggunakan plugin Pengujian Performa Android Studio:

  1. Instal plugin.

    • Di Android Studio, telusuri "Pengujian Performa" di marketplace plugin.
    • Cara lain, Anda dapat mendownload versi yang kompatibel dengan Android Studio dari situs plugin.
  2. Buat profil CPU.

    1. Jika Android Studio tampaknya lambat, pilih opsi Start CPU Usage Profiling.
    2. Ulangi beberapa tindakan yang menimbulkan masalah latensi (penyelesaian kode, mengetik dan menunggu penyorotan selesai, dan sebagainya).
    3. Klik Stop CPU Usage Profiling.
  3. Bagikan file profil.

    Balon akan muncul dengan nama file snapshot CPU yang mengikuti format snapshot-NNN. Bagikan file snapshot tersebut dalam laporan bug Anda.

Jika IDE kehabisan memori

Masalah memori di Android Studio terkadang sulit direproduksi dan dilaporkan. Untuk membantu mengatasi masalah ini, Android Studio menyertakan laporan penggunaan memori yang dapat Anda kirim ke tim Android Studio untuk membantu mengidentifikasi sumber masalah memori.

Menjalankan laporan penggunaan memori

Untuk menjalankan laporan penggunaan memori, ikuti langkah-langkah berikut:

  1. Klik Help > Analyze Memory Usage dari panel menu.

    Android Studio membuang heap dan meminta Anda untuk memulai ulang IDE. Jika Anda memulai ulang IDE, analisis heap dump akan segera dimulai. Jika tidak, analisis heap dump akan dimulai saat berikutnya Anda menjalankan Android Studio. Dalam kedua kasus tersebut, IDE akan memberi tahu Anda setelah laporan penggunaan memori siap ditinjau, seperti yang ditunjukkan pada gambar 1.

    Notifikasi yang menunjukkan bahwa laporan penggunaan memori siap
     ditinjau
    Gambar 1. Notifikasi Laporan Penggunaan Memori.
  2. Klik Review Report.

    Sebelum mengirim laporan, Anda dapat meninjau informasi yang disertakan:

    Laporan penggunaan memori.
    Gambar 2. Analisis Laporan Penggunaan Memori.
  3. Setelah selesai ditinjau, salin dan tempel konten laporan ke dalam file lalu tambahkan file tersebut saat Anda melaporkan bug.

    Mengirimkan informasi laporan dengan cara ini memungkinkan tim Android Studio berkomunikasi dengan Anda menggunakan issue tracker saat menyelidiki masalah memori.

Jika IDE error atau menampilkan pengecualian

Untuk jenis error lainnya, lampirkan file idea.log yang ditemukan dengan memilih Help > Collect Logs and diagnostik Data atau Help > Show Log in Files (Help > Show Log in Finder di macOS).

Membuat thread dump

Thread dump adalah hasil cetak dari semua thread yang berjalan di JVM. Untuk setiap thread, thread dump mencakup cetakan dari semua stackframe. Hal ini memudahkan kami untuk mengetahui apa yang menyibukkan IDE, terutama jika Anda menghasilkan beberapa thread dump dalam selang waktu beberapa detik.

Jika Anda melaporkan bug ketika IDE sangat sibuk dengan CPU yang sudah ditetapkan, atau ketika IDE tampaknya telah hang, thread dump dapat menunjukkan kode apa yang melakukan banyak pekerjaan, atau thread mana yang berebut resource dan menyebabkan deadlock.

JDK disertai fitur bernama jstack yang dapat digunakan untuk menghasilkan thread dump. Pertama, cari ID proses (PID) dari proses Android Studio. Untuk mencarinya, gunakan perintah jps:

Di Linux atau macOS:

jps -mv | grep studio

Di Windows:

jps -mv | findstr studio

Tindakan ini akan mencetak baris panjang, seperti:

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

Angka pertama (dalam contoh ini, 37605) adalah ID proses.

Berikutnya, buat thread dump lalu simpan ke file dump.txt:

jstack -l pid >> dump.txt

Jika tidak berhasil, ada beberapa cara tambahan khusus platform yang dapat menghasilkan thread dump. Untuk mengetahui petunjuk detail, lihat Dukungan IntelliJ.

Detail untuk alat build dan bug Gradle

Untuk melaporkan bug pada alat build atau Gradle, lampirkan project contoh atau nyata yang menunjukkan masalah untuk membantu memastikan bahwa semua informasi yang diperlukan telah diperoleh. Hapus semua informasi sensitif sebelum berbagi.

Jika Anda tidak dapat membagikan project, tunjukkan versi alat yang Anda gunakan. (Coba gunakan versi stabil atau pratinjau terbaru sebelum melaporkan bug). Untuk menemukan versi alat, lakukan hal berikut:

  • Versi plugin Android Gradle:

    1. Pilih File > Project Structure.
    2. Klik Project.
    3. Cari Android Gradle Plugin Version.
  • Versi Gradle:

    1. Pilih File > Project Structure.
    2. Klik Project.
    3. Cari Gradle Version.
  • Versi Android Studio:

    1. Pilih Help > About.
    2. Cari Android Studio Version.

Selain itu, sertakan informasi berikut jika berlaku:

  • Jika perilaku berubah secara tidak terduga dari versi sebelumnya ke versi saat ini, tunjukkan kedua versi tersebut.
  • Jika build gagal disertai error, jalankan build dari command line dengan opsi --stacktrace (seperti ./gradlew <task> --stacktrace) dan sertakan stack trace dalam laporan bug Anda.
  • Jika proses build memerlukan waktu lebih lama dari yang diharapkan, coba salah satu opsi berikut:
    • Jalankan ./gradlew <task> --scan lalu bagikan pemindaian build Gradle yang dihasilkan dalam laporan bug Anda.
    • Jalankan ./gradlew <task> -Pandroid.enableProfileJson=true dan bagikan Rekaman aktivitas Chrome file yang dibuat pada direktori <root-project>/build/android-profile.

Detail untuk bug Android Emulator

Ikuti langkah-langkah berikut untuk menggunakan kontrol yang diperluas di emulator guna mengumpulkan informasi dan melaporkan bug:

  1. Di panel emulator, klik More .
  2. Di jendela Extended controls, pilih Bug report.

    Tindakan ini akan membuka layar yang berisi detail laporan bug seperti screenshot, info konfigurasi AVD, dan log laporan bug. Anda dapat memasukkan langkah-langkah untuk mereproduksi bug di sini, atau menunggu dan mengetikkannya ke dalam laporan yang dihasilkan pada langkah selanjutnya.

  3. Tunggu hingga laporan bug selesai dikumpulkan, lalu klik Send to Google.

    Jendela akan terbuka sehingga Anda dapat menyimpan laporan bug ke dalam folder. Browser juga akan terbuka agar Anda dapat membuat laporan di issue tracker Google dengan detail emulator yang diperlukan sudah terisi.

  4. Dalam laporan, lengkapi detail yang tersisa seperti langkah-langkah untuk mereproduksi bug, dan lampirkan file yang disimpan saat membuat laporan bug.

Jika tidak, masukkan detail berikut secara manual:

  • Versi emulator

    1. Di emulator, buka Extended controls.
    2. Klik Help.
    3. Klik tab About untuk mencari Emulator version.
  • Versi Android SDK Tools.

    1. Pilih Tools > SDK Manager.
    2. Klik SDK Tools.
    3. Cari Android SDK Tools.
  • Model Host CPU

    • Di Linux: Buka /proc/cpuinfo.
    • Di Windows: Klik kanan My Computer lalu pilih Properties
    • Di macOS: Pilih ikon Apple lalu klik About This Mac
  • Nama perangkat

    1. Dari AVD Manager, klik untuk membuka menu di kolom Actions untuk perangkat.
    2. Pilih View Details (atau buka file $avdname.avd/config.ini).
    3. Cari entri untuk hw.device.name. Contoh: hw.device.name=Nexus 5.