Skip to content

Most visited

Recently visited

navigation

バグを報告する

バグは修正しなければなりません。しかし修正に必要な情報が不足しているバグも多くあります。 したがって、バグの報告に漏れがないものを重点的に処理します。 バグが修正される可能性を高めるために、このドキュメントを読んで内容を把握してください。

ここに記載されている手順に従っていない場合、バグはクローズされます。 クローズされた場合は、補足情報を追加してもう一度送信してください。

Issue Tracker はサポート フォーラムではないことにも注意してください。 ツールの使用方法や、Android アプリの動作方法について不明な点がある場合は、stackoverflow.com またはいずれかの Android デベロッパー サポート リソースをご覧ください。

バグを報告する手順

  1. 最新バージョンのツールを使用していることを確認します。 修正済みのバグを取捨選択するには大変時間がかかります。 問題がクローズされ、このドキュメントの参照を提示され場合、最新バージョンのツールを使用して問題が再現できるときは、別の問題として報告してください。

  2. 問題を再現するための正確な手順を記述します。 具体的に記述してください。 最初の試行で問題が再現できた場合、修正される確率はかなり高くなります。 可能であれば、コード フラグメントを記述してください(または、バグを再現するために使用できる github プロジェクトを示していただけると助かります)。 バグを示すスクリーンショットのご提供もお願いします。

  3. 正しく動作した場合の結果と、実際の結果を記述します。

  4. バージョン情報を記述します。 Android Studio では、[About] ダイアログ([Help] > [About] をクリック)(Mac の場合、[Android Studio] > [About Android Studio] をクリック)でこの情報を確認できます。 コピーするテキストを強調表示する必要はありません。Control + C(Mac の場合、Command + C)を押してから、バグ報告に貼り付けてください。

  5. 必要に応じて、使用している Java のバージョンを記述します(Android Studio では [About] ボックスに記載されています)。

  6. 使用しているオペレーティング システムを記述します。

  7. バグの説明の概要を記述します。 「Bug」、「Issue」、「Exception」、「Not working」などの概要で大量のバグが報告されていることに驚くことでしょう。

  8. バグの種類によっては、次の補足情報が必要です。

繰り返しになりますが、バグを再現する手順を明確に記述することが重要です。 可能であれば、バグの再現を容易にするファイルまたはプロジェクトを共有します(バグ報告に独自のソースコードは添付しないでください)。 報告するバグの内容を示すスクリーンショットもご提供ください。

これらの情報が集まったら、ここにバグを報告 します。

Android Studio バグの詳細

Android Studio バグに固有の以下の補足情報を記述します。

IDE がハングする場合

IDE 自体が非常に重い、あるいは完全にフリーズしているように見える場合、いくつかのスレッドダンプを生成してこれをバグ報告に添付します。 これらは、IDE がビジーとなる処理の内容(あるいは IDE が待機している競合リソースの内容)を示します。

IDE が重いがフリーズはしていない場合は、idea.log ファイルも添付します([Help] > [Show Log in Finder] を選択します)。 これは、ログに絶えずエラーがスローされているために IDE が重くなっているかどうかを示します。

IDE がメモリ不足の場合

IDE がメモリ不足になっている場合は、次のコマンドを実行してヒープのヒストグラムを生成してください。

jmap -histo:live <pid>

IDE がクラッシュする、または例外をスローする

その他の種類のクラッシュの場合は、idea.log ファイルを添付します。 [Help] > [Show Log in Finder] を選択します。

スレッドダンプの生成

スレッドダンプは JVM で実行されているすべてのスレッドの出力と、スレッドごとのすべてのスタックフレームの出力です。 スレッドダンプによって、IDE がビジーとなる処理の内容を簡単に把握することができます。 特に、数秒おきにいくつかのスレッドダンプを生成する場合に有効です。

CPU に大きな負荷がかかって IDE が非常にビジーになっている、または IDE がフリーズしているように見えるところのバグを報告すると、スレッドダンプにより、大量の処理を実行しているコードや、リソースの奪い合いでデッドロックを引き起こしているスレッドを特定することができます。

JDK は、スレッドダンプの生成に利用できる「jstack」というツールを提供します。 最初に、Android Studio プロセスのプロセス ID を見つける必要があります。 「jps」コマンドでプロセス ID が見つかります (jstack と jps は両方とも JKD の bin ディレクトリ内にあります。 複数の JDK をインストールしている場合は、Android Studio と一緒に実行している JDK と同じバージョンのものを使用してください。Android Studio の [About] ボックスで、バージョン番号を確認できます)。

Linux または Mac の場合:

jps -mv | grep studio

Windows の場合:

jps -mv | findstr studio

たとえば、以下のような詳細な行が出力されます。

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

左側の最初の数字(上記の例では 37605)がプロセス ID です。

次に、スレッドダンプを生成し、これを以下のようにdump.txt ファイルに保存します。

jstack -l pid >> dump.txt

上記のコマンドが動作しない場合は、スレッドダンプを生成するプラットフォーム独自の方法を試してください。詳細については、IntelliJ サポートをご覧ください。

Instant Run バグの詳細

Instant Run に関する問題を報告するには、次の手順を実行します。

  1. Android Studio が、Instant Run セッションに関する補足情報を記録できるようにします。
  2. 発見した問題に関するフィードバックを送信してから前の手順を実行したい場合は、問題を新たに作り直してください。
  3. Instant Run に関する問題を見つけたら、すぐに報告を送信します。

バグ報告に含める内容について

IDE が Instant Run セッションに関して次の情報を記録できるようにしておくと、Android Studio チームが問題を詳細に把握する際に役立てることができます。これは問題の把握のためにのみ使用されます

追加のログ記録を有効にする

この情報を収集して送信するパーミッションを Android Studio に付与するには、以下の手順を実行します。

  1. [Settings] または [Preferences] ダイアログを開きます。
  2. [Build, Execution, Deployment] > [Instant Run] に移動します。
  3. [Log extra info] チェックボックスをオンにします。 このオプションはいつでも無効にできます。
  4. [OK] をクリックします。

問題の報告

追加のログ記録を有効にした後で、以前見つけた Instant Run の問題を再作成します。 問題を再現したら、すぐに以下の手順を実行して報告を送信してください。

  1. メニューバーから [Help] > [Report Instant Run Issue] を選択します。 図 4 で示すようなダイアログが表示されます。

    図 4. テキスト フィールドに追加の詳細情報を入力し、Android Studio が報告と一緒に送信するログを確認します。

  2. 問題を再現する手順や、実際の動作と予測動作の違いなど、問題の発生状況を記述した補足情報をテキスト フィールドに入力します。
  3. 完了したら [OK] をクリックします。

ビルドツールと Gradle バグの詳細

次のような、プロジェクトのビルドに関連する問題または Gradle の同期に関する問題に固有の情報を記述します。

Android Emulator バグの詳細

次のようなエミュレータ バグ固有の情報を記述します。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)