Report a bug

We want to fix your bugs! But many bugs don't include required information.
So we are focusing our limited resources on bugs that have complete reports.
To improve the chances of your bug being fixed, please take a moment to read
this document.

If you don't follow these steps, we will close your bug. If that happens,
simply resubmit with the additional information.

How to report a bug

Make sure you are using the latest version of the tools.
We spend a lot of time reviewing bugs that have already been
fixed. If we close your issue and it's not resolved,
please open another issue provided you can reproduce it using the latest
version.

Open a bug report from Android Studio by selecting
Help > Submit Feedback. This is the easiest way to start a bug because
it populates the bug report with your Android Studio version, Java version,
and system information, which we need to properly reproduce the issue.
(Otherwise, file your bug here
and add the version information by hand.)

Describe the exact steps to reproduce. If we can
reproduce the issue on the first try, the odds of a fix are much better.
If possible, include a code snippet (or better yet, point to a github project
which can be used to reproduce the bug).
Screenshots are also helpful to show what you are observing.

Describe what you expected to happen, and what you instead observed.

Pick a descriptive summary for the bug. You'd be surprised how many bugs are
filed with the summary "Bug," "Issue," "Exception," "Not working," and so on,
which makes it difficult for us to sort the issues.

Details for Android Studio bugs

Include the following additional information that is specific for Android
Studio bugs.

If the IDE hangs

If the IDE itself appears to be very sluggish or completely frozen,
generate a couple of thread dumps and attach them to the bug report. These
tell us what the IDE is so busy doing (or what contended resource it’s
waiting for).

If the IDE is sluggish but not frozen, also attach the idea.log file (select
Help > Show Log in Finder). This shows us whether the reason the IDE
is sluggish is that it's constantly throwing errors into the log.

If the IDE runs out of memory

Memory problems in Android Studio are sometimes difficult to reproduce and
report. To help solve this problem, Android Studio includes a memory usage
report that you can send to the Android Studio team to help identify the
source of the memory issues.

Run a memory usage report

To run a memory usage report, follow these steps:

Click Help > Analyze Memory Usage from the menu bar.

Android Studio dumps the heap and prompts you to restart the IDE. If you
restart the IDE, the heap dump analysis starts immediately. Otherwise, the
heap dump analysis starts the next time you run Android Studio. In either
case, the IDE notifies you once the memory usage report is ready for you to
review.

Important: Sending a memory usage report to our team does not include the raw
data from the heap dump; the heap dump is deleted as soon as the analysis is
complete. Although the generated report does not contain any personal data, it
is used in accordance with the
Google Privacy Policy.

Click Review Report.

Before you send the report, you can review all of the information that's
included.

After you've finished your review, copy and paste the contents of the report
into a file and attach that file when you file your bug.

Submitting the report information this way ensures that the Android Studio
team can communicate with you using the issue tracker while we are
investigating your memory issues.

If the IDE crashes or throws exceptions

For other types of crashes, attach the idea.log file. Select
Help > Show Log in Finder.

Generating a thread dump

A thread dump is a printout of all the threads running in the JVM, and for each
thread, a printout of all the stackframes. This makes it easy to see what the
IDE is busy doing. Especially if you generate a couple of thread dumps a few
seconds apart.

When you report bugs where the IDE is extremely busy with a pegged CPU, or where
the IDE appears to have frozen, a thread dump can pinpoint either what code is
doing a lot of work, or which threads are contending over resources and causing
a deadlock.

The JDK ships with a tool named "jstack" which can be used to generate a thread
dump. First you'll need to find the process id of the Android Studio process.
You can use the "jps" command for that. (Both jstack and jps are in the bin
directory of the JDK. If you have multiple JDKs installed, you should use the
same version here as the one you are running Android Studio with, and you can
see what version that is in Android Studio's About box.)

Details for Android Emulator bugs

The easiest way to gather the emulator details is to use the File a bug
feature in the extended controls:

Click More in the
emulator panel.

In the Extended controls window, select Bug Report on the left.

This opens a screen where you can see the bug report details such as the
screenshot, the AVD configuration info, and a bug report log.
You can enter the steps to reproduce here or wait and type them into the
report generated in the next step.

Wait for the bug report to finish collecting, and then
click Send to Google. This
opens a window for you to save the bug report in a folder and then
opens your browser to create a report in the Google Issue Tracker, with the
necessary emulator details filled in.

In the report, complete any remaining details such as the steps to reproduce
the bug and attach the files saved when you created the bug report.

Otherwise, you must manually enter the following details:

Emulator Version.
In the emulator, open the Extended controls, click Help, then click
the About tab to find the Emulator version

Device name.
From the AVD Manager, click to open the drop-down menu in the Actions
column for the device, and then select View Details (or
open the $avdname.avd/config.ini file). Find the entry for
hw.device.name. For example: hw.device.name=Nexus 5

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.