Melaporkan bug

Kami ingin memperbaiki bug Anda! Namun ada banyak bug yang tidak menyertakan informasi yang diperlukan. Jadi, kami memfokuskan resource kami yang terbatas pada bug yang memiliki laporan lengkap. Untuk meningkatkan peluang bug Anda diperbaiki, luangkan waktu untuk membaca dokumen ini.

Jika tidak mengikuti langkah-langkah berikut, kami akan menutup bug Anda. Jika itu yang terjadi, cukup kirim ulang bug Anda dengan menyertakan informasi tambahan.

Perhatikan juga bahwa Issue Tracker bukanlah forum dukungan. Jika Anda memiliki pertanyaan tentang cara menggunakan fitur ini, atau cara agar aplikasi Android Anda berfungsi, kunjungi stackoverflow.com atau salah satu dari beberapa fasilitas dukungan developer Android.

Cara melaporkan bug

  1. Pastikan Anda menggunakan fitur versi terbaru. Kami menghabiskan banyak waktu untuk meninjau bug yang telah diperbaiki. Jika kami menutup masalah Anda padahal masalah tersebut belum terselesaikan, silakan buka masalah lain asalkan Anda dapat mereproduksinya menggunakan versi terbaru.

  2. Buka laporan bug dari Android Studio dengan memilih Help > Submit Feedback. Ini adalah cara termudah untuk memulai bug karena laporan bug akan terisi dengan versi Android Studio Anda, versi Java, dan informasi sistem, yang kami perlukan untuk mereproduksi masalah dengan tepat. (Jika tidak, ajukan bug Anda di sini dan tambahkan informasi versi secara manual.)

  3. Jelaskan langkah-langkah mereproduksinya secara persis. Jika kami dapat mereproduksi masalah tersebut pada percobaan pertama, kemungkinan perbaikannya akan jauh lebih besar. Jika memungkinkan, sertakan cuplikan kode (atau lebih baik lagi, arahkan ke project github yang dapat digunakan untuk mereproduksi bug). Screenshot juga membantu untuk menunjukkan apa yang Anda amati.

  4. Jelaskan apa yang Anda harapkan terjadi, dan apa yang justru Anda temukan.

  5. Pilih ringkasan deskriptif untuk bug itu. Anda akan terkejut melihat banyaknya bug yang dilaporkan dengan ringkasan "Bug", "Masalah", "Pengecualian", "Tidak berfungsi", dan seterusnya, yang menyulitkan kami untuk menyortir masalah.

  6. Untuk beberapa jenis bug tertentu, kami memerlukan informasi tambahan:

Detail untuk bug Android Studio

Sertakan informasi tambahan berikut yang khusus untuk bug Android Studio.

Jika IDE hang

Jika IDE terlihat sangat lambat atau terhenti sama sekali, hasilkan beberapa thread dump dan tambahkan ke laporan bug. Laporan ini memberi tahu kami apa yang membuat IDE sebegitu sibuknya (atau resource penting apa yang ditunggu-tunggunya).

Jika IDE lambat tetapi tidak hang, tambahkan juga file idea.log (pilih Help > Show Log in Finder). Ini akan menunjukkan kepada kami apakah penyebab IDE menjadi lambat adalah karena terus-menerus memunculkan error ke dalam log.

Jika IDE kehabisan memori

Jika IDE kehabisan memori, buatlah histogram heap dengan mengeksekusi baris berikut:

jmap -histo:live <pid>
    

Jika IDE error atau menampilkan pengecualian

Untuk jenis kerusakan lainnya, tambahkan file idea.log. Pilih Help > Show Log in Finder.

Menghasilkan thread dump

Thread dump adalah cetakan dari semua thread yang berjalan di JVM, dan untuk setiap thread, cetakan dari semua stackframe. Thread dump memudahkan kami untuk melihat apa yang menyibukkan IDE. Apalagi jika Anda menghasilkan beberapa thread dump dalam selang beberapa detik.

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

JDK disertai fitur bernama "jstack" yang dapat digunakan untuk menghasilkan thread dump. Pertama-tama, Anda harus menemukan ID proses dari proses Android Studio. Anda dapat menggunakan perintah "jps" untuk itu. (Baik jstack dan jps berada di direktori bin JDK. Jika ada beberapa JDK yang terinstal, sebaiknya Anda menggunakan versi yang sama di sini dengan yang Anda jalankan di Android Studio. Anda dapat melihat versi yang ada di kotak About pada Android Studio.)

Pada Linux, Mac:

jps -mv | grep studio
    

Untuk Windows:

jps -mv | findstr studio
    

Misalnya, ini akan mencetak baris panjang seperti ini:

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

Angka pertama di sebelah kiri, dalam hal ini 37605, adalah ID proses.

Berikutnya, Anda bisa menghasilkan thread dump dan menyimpannya pada file dump.txt seperti:

jstack -l pid >> dump.txt
    

Jika tidak berhasil, ada beberapa cara tambahan khusus platform yang bisa menghasilkan thread dump. Lihat Dukungan IntelliJ untuk mengetahui petunjuk lengkapnya.

Detail untuk fitur build dan bug Gradle

Sertakan informasi berikut, yang berkaitan khusus dengan masalah pembuatan project atau sinkronisasi Gradle:

  • Versi Gradle. Pilih File > Project Structure, klik Project, lalu temukan Gradle version.
  • Versi Android Plugin. Pada halaman yang sama dengan versi Gradle, temukan Android Plugin Version.
  • Versi Compile SDK Modul. Dari halaman di atas, pilih modul Anda pada panel kiri, lalu temukan Compile Sdk Version.
  • Versi Build Tools Modul. Dari halaman di atas, temukan Build Tools Version.
  • Versi Android SDK Tools. Pilih Tools > SDK Manager, klik SDK Tools, lalu temukan Android SDK Tools

Detail untuk bug Android Emulator

Cara termudah untuk mengumpulkan detail emulator adalah dengan menggunakan fitur File a bug pada kontrol yang diperluas:

  1. Klik More di panel emulator.
  2. Di jendela Extended control, pilih Bug Report di sebelah kiri.

    Tindakan ini akan membuka layar tempat Anda dapat melihat 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 sampai laporan bug selesai dikumpulkan, lalu klik Send to Google. Tindakan ini akan membuka jendela tempat Anda dapat menyimpan laporan bug ke dalam folder, lalu membuka browser Anda untuk membuat laporan di Google Issue Tracker. Detail emulator yang diperlukan diisikan secara otomatis.

  4. Dalam laporan, lengkapi detail yang tersisa seperti langkah-langkah untuk mereproduksi bug, dan tambahkan file yang disimpan ketika Anda membuat laporan bug.

Jika tidak, Anda harus memasukkan detail berikut secara manual:

  • Versi Emulator. Pada emulator, buka Extended controls, klik Help, lalu klik tab About untuk menemukan Emulator version
  • Versi Android SDK Tools. Pilih Tools > SDK Manager, klik SDK Tools, lalu temukan Android SDK Tools
  • Model Host CPU.
    • Pada Linux: Buka /proc/cpuinfo
    • Pada Windows: Klik kanan My Computer dan pilih Properties
    • Pada Mac: Klik ikon Apple dan klik About This Mac
  • Nama perangkat. Dari AVD Manager, klik untuk membuka menu drop-down di kolom Actions untuk perangkat, lalu pilih View Details (atau buka file $avdname.avd/config.ini ). Temukan entri untuk hw.device.name. Misalnya: hw.device.name=Nexus 5