Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

実行、デバッグ構成の作成と編集

コードを実行、デバッグまたはテストするときに、Android Studio では実行 / デバッグ構成によって操作の実行方法が決定されます。通常はデフォルトの構成で十分であり、そのままで簡単にアプリを実行またはデバッグできます。一方、開発プロセスに適合するように新規構成を変更、作成したり、デフォルトのテンプレートを変更したりすることもできます。

実行 / デバッグ構成の概要

実行 / デバッグ構成では、アプリのインストール、起動、テスト オプションなどの詳細を指定します。構成を 1 回のみ使用するように定義することも、保存して繰り返し使用することも可能です。構成を保存すると、ツールバーの [Select Run/Debug Configuration] プルダウン リストで構成を選択できます。Android Studio では、構成がプロジェクトの一部として保存されます。

デフォルトの実行 / デバッグ構成

最初に Android Studio でプロジェクトを作成すると、Android App テンプレートを基にして、メイン アクティビティに対するデフォルトの実行 / デバッグ構成が作成されます。プロジェクトを実行またはデバッグするには、必ず 1 つ以上の実行 / デバッグ構成が定義されている必要があります。そのため、この設定を削除しないことをお勧めします。

プロジェクト スコープとバージョン管理

実行 / デバッグ構成とテンプレートの変更は、現在のプロジェクトのみに適用されます。実行 / デバッグ構成を共有してプロジェクトをバージョン管理システムにチェックインする場合、構成はプロジェクトをチェックアウトしたすべてのメンバーで共有されます。テンプレートは共有できません。

実行 / デバッグ構成のダイアログを開く

[Run/Debug Configurations] ダイアログには、実行 / デバッグ構成と使用可能なデフォルト テンプレートが表示されます。このダイアログでは、次の操作が可能です。

このダイアログを開くには、次のいずれかの操作を行います。

  • [Run] > [Edit Configurations] を選択します。
  • ツールバーの [Select Run/Debug Configuration] プルダウン リストで、[Edit Configurations] を選択します。
  • このプルダウン リストは、実行アイコン デバッグアイコン の左にあります。 のように表示されます。

    ツールバーが表示されていない場合は、[View] > [Toolbar] を選択してツールバーを表示します。

図 1 に示すように、[Run/Debug Configurations] ダイアログが表示されます。

図 1. [Run/Debug Configurations] ダイアログ

このダイアログの左パネルでは、[Defaults] フォルダにデフォルト テンプレートが表示されています。また、定義済みの構成がテンプレートのタイプ別にグループ化されています。ダイアログのサイズを大きくして、隠れている項目を確認できます。

実行 / デバッグ構成の新規作成

新規の実行 / デバッグ構成は、[Run/Debug Configurations] ダイアログ、[Project] ウィンドウ、またはコード エディタで定義できます。新しい構成は、デフォルト テンプレートに基づいている必要があります。

[Run/Debug Configurations] ダイアログでは、テンプレートから直接、または別の構成のコピーから新しい構成を作成できます。その後、必要に応じてフィールドの値を変更できます。

または、[Project] ウィンドウで項目を右クリックして、その項目に固有の構成を自動的に作成することも可能です。たとえば、特定のアクティビティを実行する場合、そのアクティビティの Java ファイルを右クリックして [Run] を選択できます。Android Studio では、項目に応じて Android AppAndroid Tests、または JUnit のデフォルト テンプレートを使用して構成が作成されます。

コード エディタでは、クラスまたはメソッドに対してテスト構成および実行 / デバッグ構成を簡単に作成して実行できます。

[Run/Debug Configurations] ダイアログ以外で構成を作成した場合、これを保存しない限り構成は一時的なものとなります。デフォルトでは、プロジェクトには最大 5 個の一時的な構成を保持でき、それ以上になると Android Studio で構成が削除されます。このデフォルトを変更するには、[Run/Debug Configurations] ダイアログで [Defaults] フォルダをクリックして、[Temporary Configurations Limit] フィールドに値を入力します。一時的な構成の詳細については、一時的な実行 / デバッグ構成の作成と保存をご覧ください。

バージョン管理システムを介して、実行 / デバッグ構成を共有できます(テンプレートは共有できません)。実行 / デバッグ構成で [Shared] を選択して、プロジェクトをバージョン管理システムにチェックインした場合、このプロジェクトをチェックアウトしたすべてのメンバーがこの構成を受け取ります。

テンプレートをもとに構成を開始する

テンプレートをもとに実行 / デバッグ構成を定義するには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. 新規構成の追加アイコン をクリックします。
  3. デフォルト テンプレート を 1 つ選択します。
  4. [Name] フィールドに名前を入力します。
  5. 必要に応じて構成を変更します。
  6. ダイアログの下部にエラーが表示されている場合は、すべて修正してください。

  7. [Apply] または [OK] をクリックします。

コピーから構成を開始する

初めに別の構成のコピーを作成して、実行 / デバッグ構成を定義するには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. 左ペインで、既存の実行 / デバッグ構成を 1 つ選択します。
  3. 構成のコピーアイコン をクリックします。
  4. [Name] フィールドに名前を入力します。
  5. 必要に応じて構成を変更します。
  6. ダイアログの下部にエラーが表示されている場合は、すべて修正してください。

  7. [Apply] または [OK] をクリックします。

プロジェクト内の項目に対して構成を定義する

Android Studio では、[Project] ウィンドウに表示された一部の項目に対して実行 / デバッグ構成を自動的に作成できます。この構成は、次のデフォルト テンプレートが基になっています。

注: Android Studio では、build.gradle または settings.gradle ファイルに対しては Groovy テンプレートが使われます。これを使わずに、Gradle コンソールを使って build.gradle ファイルを実行またはデバッグする必要があります。

プロジェクト内の項目に対して実行 / デバッグ構成を作成するには、次のステップを実行します。

  1. Android または Project ビューでプロジェクトを開きます。
  2. [Project] ウィンドウで項目を右クリックして、[Run] または [Debug] を選択します。
  3. Android Studio で一時的な実行 / デバッグ構成が作成され、アプリが起動します。

  4. 構成を保存するには、ツールバーの [Select Run/Debug Configuration] プルダウン リストで [Save] を選択します。
  5. このプルダウン リストは、実行アイコン デバッグアイコン の左にあります。 のように表示されます。

    または、項目をもう一度右クリックして [Save] を選択します。

    もしくは、[Run/Debug Configurations] ダイアログで構成を選択して、左上の構成の保存アイコン をクリックします。

    アクティビティを除き、同じ項目をもう一度右クリックして実行またはデバッグを行うと、Android Studio では新しい構成が作成されます。

クラスまたはメソッドのテスト構成を定義する

Android Studio では、クラスまたはメソッドのテスト実行構成を定義して、テストを実施できます。たとえば、新しいクラスを作成した場合、そのクラスに対するテストを作成して実行できます。テストに合格したら、プロジェクトの残りの部分に対してテストを実行して、新しいコードが他の箇所に悪影響を及ぼしていないか確認します。

Android Studio では、ソース セットに応じて Android Tests または JUnit テンプレートが使われます。ローカル ユニットテストの場合は、コード カバレッジを使って実行することも可能です。

Java コード内のクラスまたはメソッドに対して実行 / デバッグ構成を作成するには、次のステップを実行します。

  1. Android または Project ビューでプロジェクトを開きます。
  2. コード エディタで Java ファイルを開きます。
  3. コード内のクラスまたはメソッドを選択して、Ctrl+Shift+T キー(⌘⇧T)を押します。
  4. 表示されたメニューから [Create New Test] を選択します。
  5. [Create Test] ダイアログで必要に応じてフィールドの値を変更して、[OK] をクリックします。
  6. [Choose Destination Directory] ダイアログで、[androidTest] を選択してインスツルメント テストを作成するか、test を選択してローカル ユニットテストを作成します。[OK] をクリックします。
  7. 新しいテストが、[Project] ウィンドウの対応するテスト ソース セットに表示されます。

  8. テストを実行するには、以下のいずれかの操作を行います。
    • [Project] ウィンドウでテストを右クリックして、[Run] または [Debug] を選択します。
    • コードエディタでテストファイル内のクラス定義を右クリックして、[Run] または [Debug] を選択してクラス内のすべてのメソッドをテストします。
    • コードエディタでテストファイル内のメソッド名を右クリックして、[Run] または [Debug] を選択してそのメソッドのみをテストします。
    • コードエディタのクラスまたはメソッドの左の余白にある再生ボタン をクリックして、[Run] または [Debug] を選択します。
  9. 構成を保存するには、ツールバーの [Select Run/Debug Configuration] プルダウン リストで [Save] を選択します。
  10. このプルダウン リストは、実行アイコン デバッグアイコン の左にあります。 のように表示されます。

    または、項目をもう一度右クリックして [Save] を選択します。

    もしくは、[Run/Debug Configurations] ダイアログで構成を選択して、左上の構成の保存アイコン をクリックします。

保存した構成を使ったアプリの実行またはデバッグ

実行 / デバッグ構成を保存したら、アプリを実行またはデバッグする前に構成を選択できます。

保存した実行 / デバッグ構成を使うには、次のステップを実行します。

  1. ツールバーの [Select Run/Debug Configuration] プルダウン リストで実行 / デバッグ構成を選択します。
  2. このプルダウン リストは、実行アイコン デバッグアイコン の左にあります。 のように表示されます。

  3. [Run] > [Run] または [Run] > [Debug] を選択します。
  4. または、実行アイコン またはデバッグアイコン を選択します。

注: Instant Run セッションの間に別の実行 / デバッグ構成を選択して実行アイコン またはデバッグアイコン を再度クリックすると、現在のセッションが終了します。

実行 / デバッグ構成の編集

実行 / デバッグ構成を編集するには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. 左ペインで構成を選択します。
  3. 必要に応じて構成を変更します。
  4. ダイアログの下部にエラーが表示されている場合は、すべて修正してください。

  5. [Apply] または [OK] をクリックします。

デフォルトの実行 / デバッグ構成テンプレートの編集

Android Studio に用意されているデフォルトのテンプレートを開発プロセスに合わせて編集することができます。テンプレートを編集しても、そのテンプレートを使用している既存の構成には影響がありません。したがって、たとえば特定のタイプの複数の構成を作成する必要がある場合、テンプレートを編集して、終了したら元に戻すことができます。

新しいテンプレートは作成できませんが、構成を作成してテンプレートと同様に使うことができます。構成をコピーして、そのコピーを編集して新しい構成を作成します。

テンプレートを編集するには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. Defaults フォルダを展開してデフォルト テンプレートを選択します。
  3. 必要に応じて構成を変更します。
  4. ダイアログの下部にエラーが表示されている場合は、すべて修正してください。

  5. [Apply] または [OK] をクリックします。

構成の並べ替えとグループ化

[Run/Debug Configurations] ダイアログで、構成を整理して簡単に見つけられるようにすることができます。フォルダ内の項目をアルファベット順に並べ替えたり、新規フォルダを作成して構成をグループ化したりできます。

構成をアルファベット順に並べ替えるには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. 構成が含まれているフォルダを選択します。
  3. [Sort Configurations] アイコン をクリックします。
  4. [Apply] または [OK] をクリックします。

構成をフォルダにグループ化するには、次のステップを実行します。

  1. [Run/Debug Configurations] ダイアログを開きます
  2. 構成が含まれているフォルダを選択します。
  3. フォルダの新規作成アイコン をクリックします。
  4. [Name] フィールドに名前を入力します。
  5. 同じテンプレート カテゴリの項目をフォルダにドラッグします。
  6. 同じテンプレート カテゴリ内のフォルダや構成を目的の位置にドラッグするか、上に移動アイコン および下に移動アイコン を使って順序を変更します。
  7. [Apply] または [OK] をクリックします。

起動前操作の定義

実行 / デバッグ構成を適用する前に実行するタスクを指定できます。タスクは、リスト内の表示順に実行されます。起動前タスクの定義は高度な機能です。

この機能を使う代わりに、すべての準備ロジックをタスクとして build.gradle ファイルに追加して、ビルドするときにコマンドラインから実行できるようにすることをお勧めします。

タスクリストを作成するには、次のステップを実行します。

  1. タスクをリストに追加するには、追加アイコン をクリックしてタスクのタイプを選択します。ダイアログが表示された場合は、各フィールドに値を入力して [OK] をクリックします。
  2. 必要に応じて、さらにタスクを追加します。
  3. タスクの順序を変更するには、上へアイコン および下へアイコン をクリックしてリスト内でタスクを上下に移動します。
  4. 実行 / デバッグ構成設定を適用する前にこの設定を表示する場合は、[Show this page] を選択します。

    このオプションは、デフォルトでは未選択になっています。

  5. アプリを実行またはデバッグするときに Run または Debug ツール ウィンドウを自動的にアクティブにするには、[Active tool window] を選択します。
  6. このオプションは、デフォルトで選択されています。

タスクをリストから削除するには、次のステップを実行します。

  1. タスクを選択します。
  2. 削除アイコン をクリックします。

タスクを編集するには、次のステップを実行します。

  1. タスクを選択します。
  2. 編集アイコン をクリックします。
  3. 表示されたダイアログでタスクの設定を編集して、[OK] をクリックします。

次の表に、追加できるタスクの一覧を示します。

タスク 説明
Run External tool Android Studio 外部のアプリケーションを実行します。[External Tools] ダイアログで実行するアプリケーションを 1 つ以上選択して、[OK] をクリックします。アプリケーションが Android Studio で未定義である場合は、その定義を [Create Tools] ダイアログで追加します。詳細については、サードパーティ ツールの設定および外部ツールをご覧ください。
Run Another Configuration いずれかの既存の実行 / デバッグ構成を実行します。[Choose Configuration to Execute] ダイアログで、実行する構成を選択して [OK] をクリックします。
Make プロジェクトまたはモジュールをコンパイルします。実行 / デバッグ構成で特定のモジュールが指定されている場合、Android Studio は Make Module コマンドを実行します。モジュールが指定されていない場合は Make Project コマンドを実行します。
Make Project プロジェクトをコンパイルします。Android Studio は Make Project コマンドを実行します。
Make, no error check このオプションは Make と同じですが、Android Studio がコンパイルの結果に関係なく実行 / デバッグ構成を実行する点が異なります。
Build Artifacts Android Studio ではサポートされません。
Run Gradle task Gradle タスクを実行します。表示されたダイアログで詳細を指定して、[OK] をクリックします。詳細については、Gradle をご覧ください。
Gradle-aware Make プロジェクトをコンパイルして Gradle を実行します。
App Engine Gradle builder App Engine Gradle builder タスクでは、プロジェクトを同期してモジュールをビルドします。

デフォルトの実行 / デバッグ構成のテンプレート

Android Studio では、簡単に構成を開始できるようにデフォルトの構成テンプレートが用意されています。Android Studio を使用した Android 開発では、以下のテンプレートが適用されます。

注: Android Studio 2.1.x 以下には Native Application テンプレートがありましたが、これより新しいバージョンではこのテンプレートは提供されません。プロジェクトに Native Application テンプレートが含まれている場合、Android Studio ではプロジェクトのロード時にこのテンプレートを自動的に Android App に変換します。[Convert Project] ダイアログの指示に従って、この処理を完了できます。

以下の未サポートのテンプレートは IntelliJ IDEA 由来のものであり、Android Studio を使用した Android 開発に特化したものではありません。

これらのテンプレートの詳しい使用方法については、リンク先の IntelliJ IDEA のドキュメントをご覧ください。

Android App

このテンプレートを基にした構成を使用すると、仮想端末またはハードウェア端末上で Android アプリやアクティビティを実行またはデバッグできます。

名前と共有

実行 / デバッグ構成には [Name] と [Share] のオプションがあります。テンプレートにはこれらのオプションはありません。

フィールド 説明
Name 実行 / デバッグ構成の名前。
Share

バージョン管理を介して実行 / デバッグ構成を他のチームメンバーでも利用可能にするには、このオプションを選択します。実行 / デバッグ構成は共有できますが、テンプレートは共有できません。このオプションを選択して、Git(または別のバージョン管理システム)にプロジェクトをチェックインすると、別のメンバーがプロジェクトをチェックアウトした際に、実行 / デバッグ構成が含まれるようになります。

Android Studio では、共有の実行 / デバッグ構成が .idea/runConfigurations フォルダ内の個別の XML ファイルに保存されます。ここに保存されない場合、構成は .idea/workspace.xml ファイルに保存されます。詳細については、ディレクトリベースのプロジェクト フォーマットをご覧ください。

デフォルト: 未選択

[General] タブ

[General] タブでは、インストール、起動、デプロイのオプションを指定できます。インストールのオプションは、[Miscellaneous] タブにも含まれています。

フィールド 説明
Module この構成を適用するモジュールを選択します。
Installation Options:Deploy

オプションを選択します。

  • Default APK(デフォルト)- ビルドの設定で指定されたとおりに APK を作成します。
  • Custom Artifact - Android Studio ではサポートされません。
  • Nothing - APK を端末にインストールしません。たとえば、手動で APK をインストールする場合などは、Android Studio でインストールする必要はありません。
Installation Options:Install Flags 使用する任意の adb pm install オプションを入力します。コマンドラインで使用する場合と同様の形式を使いますが、パスは含めません。例をいくつか示します。

-i foo.bar.baz -r /path/to/apk

-d -r

デフォルト: オプションなし

LaunchOptions:Launch

オプションを選択します。

  • Nothing - 何も起動しません。[Deploy] フィールドで [Nothing] を指定している場合、アプリはすでに実行しています。また、[Debug] を選択すると、このオプションは [Attach debugger to Android process] を使用した場合と同様に機能します。[Run] を選択しても何も動作しません。
  • Default Activity(デフォルト)- マニフェストでスタートアップとして指定したアクティビティが起動します。次に例を示します。
  • <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    
  • Specified Activity - モジュール内の特定のアクティビティを起動します。名前を入力するか、 をクリックして一覧からアクティビティを選択します。
  • URL - 起動する URL を指定します。URL のテストをご覧ください。
LaunchOptions:Launch Flags 使用する任意の adb am start オプションを入力します。コマンドラインで使用する場合と同様の形式を使いますが、インテントは含めません。次に例を示します。

-W

このオプションは、[Launch] の値に [Nothing] を選択した場合は表示されません。

デフォルト: オプションなし

Deployment Target Options:Target

オプションを選択します。

  • Open Select Deployment Target Dialog(デフォルト)- [Select Deployment Target] ダイアログを開いて、仮想端末またはハードウェア端末を選択します。
  • USB Device - USB ポートを介して開発用コンピュータに接続しているハードウェア端末を使用します。複数の端末が存在する場合、端末を選択するダイアログが表示されます。
  • Emulator - 仮想端末を使用します。構成内で AVD を選択できます。選択しない場合、リスト内の最初の AVD が使われます。

Deployment Target Options:Use same device for future launches

[Select Deployment Target] ダイアログで選択した端末を今後も自動的に使用するには、このオプションを選択します。端末を使用できない場合、ダイアログが表示されます。デフォルト: 未選択
Before Launch 起動前操作の定義をご覧ください。

[Miscellaneous] タブ

[Miscellaneous] タブでは、logcat、インストール、起動、デプロイのオプションを指定できます。インストールのオプションは、[General] タブにも含まれています。

フィールド 説明
Logcat:Show logcat automatically このオプションを選択すると、この構成を使ってアプリを正常にデプロイおよび起動した場合に、毎回 Android Monitor の [logcat] タブが自動的にアクティブになります。選択しない場合は、アプリの起動時にフォーカスは自動的に [logcat] タブに移動しません。デフォルト: 選択
Logcat:Clear log before launch アプリを起動する前に Android Studio で以前のセッションのデータがログファイルから削除されるようにするには、このオプションを選択します。デフォルト: 未選択
Installation Options:Skip installation if APK has not changed これを選択すると、APK に変更がないことが Android Studio で検出された場合に APK が再デプロイされません。Android Studio で APK に変更がなくても APK のインストールが強制されるようにするには、このオプションの選択を解除します。デフォルト: 選択
Installation Options:Force stop running application before launching activity

これを選択すると、Android Studio によって、APK に変更がないために APK の再インストールが不要であると判断された場合に、強制的にアプリが停止されます。その場合、アプリはデフォルトのランチャー アクティビティから起動します。このオプションが選択解除された場合、Android Studio ではアプリを強制停止しません。

このオプションは、APK をインストールするかどうかを制御する前出のオプションと連動します。明示的に毎回のインストールを強制する場合を除き、両方の [Installation Options] フィールドをデフォルトのままにしておいてください。

ただし、このオプションを選択解除すべき場合もあります。たとえば、入力メソッド エンジン(IME)を作成している場合などです。アプリが強制停止されると、現在のキーボードとして選択されている IME が未選択になりますが、これは望ましくありません。

デフォルト: 選択

Before Launch 起動前操作の定義をご覧ください。

[Debugger] タブ

[Debugger] タブで、デバッグ オプションを指定します。

C および C++ コードの場合、Android Studio では LLDB デバッガーが使われます。通常の Android Studio UI に加えて、デバッガー ウィンドウに [LLDB] タブが表示されるため、デバッグ中に LLDB コマンドを入力できます。Android Studio で情報を表示するために使用されるコマンドと同じものをデバッガー UI に入力して、追加の操作を実行できます。

C および C++ プロジェクトの場合は、シンボル ディレクトリに加えて LLDB のスタートアップ コマンドやポストアタッチ コマンドを [Debugger] タブに追加できます。これを行うには、次のようなボタンを使用します。

  • 追加 - ディレクトリまたはコマンドを追加します。
  • 削除 - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、アイテムが削除されます。
  • 上へ - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、リスト内でアイテムが上に移動します。
  • 下へ - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、リスト内でアイテムが下に移動します。

Android Studio でのデバッグの詳細については、アプリのデバッグをご覧ください。

フィールド 説明
Debug type

次のいずれかのオプションを選択します。

  • Auto(デフォルト)- Android Studio によりプロジェクトに最適なデバッグ タイプが選択されます。
  • Java - Java コードのみをデバッグします。
  • Native - ネイティブ C または C++ コードをデバッグします。
  • Hybrid - 2 つの独立したデバッグ セッションで、Java コードとネイティブ コードをデバッグします。

推奨設定は、プロジェクトに適したデバッグ タイプが自動で選択される [Auto] です。

試験運用版: Use Java aware C++ debugger - Android N+ only

同一の LLDB デバッグ セッションで C++ コードと Java Android コードの両方をデバッグする場合に、このオプションを選択します。Java 対応の C++ デバッガーは [Native] デバッガー モードの拡張であり、C++ のデバッグに加えて Java もサポートしています。

この機能を使用するためのプロジェクトの要件は次のとおりです。

  • Android 7.0(API レベル 24)以上を使用していること。
  • [Debug type] が [Native] または [Auto] であること。

[Debug type] に [Auto] を選択し、プロジェクト要件が満たされていれば、Android Studio では自動的にこのオプションが選択されます。LLDB を使って Java のみのプロジェクトをデバッグする場合は、このオプションと [Native] を選択できます。

Android Studio 2.2 の時点で、この機能は試験運用版です。詳細については、試験運用版の Java 対応 C++ デバッガーの使用をご覧ください。

デフォルト: 未選択

Symbol Directories

シンボル ファイルを追加して Android Studio 以外で生成された C または C++ の情報をデバッガーに提供する場合は、ここで 1 つ以上のディレクトリを追加できます。Android Studio では、Android Plugin for Gradle で生成されたファイルよりも、これらのディレクトリ内のファイルが優先的に使用されます。デバッガーでは、必要な項目が見つかるまでディレクトリを上から下へ順次検索します。ディレクトリ内ではすべてのファイルが再帰的に検索されます。リストを最適化して所要時間を削減するには、最も使用頻度の高いディレクトリをリストの上部に配置します。

ツリーの上位階層にあるディレクトリを指定すると、サブディレクトリをすべて検索するのに時間がかかります。検索時間を短縮するには、特定のディレクトリを指定します。検索速度とデバッグに必要なファイル検出の適切なバランスを見極める必要があります。たとえば、異なる Android バイナリ インターフェース(ABI)向けの複数のサブディレクトリを含むディレクトリがある場合は、特定の ABI のディレクトリを追加することも、すべての ABI のディレクトリを追加することもできます。上位レベルのディレクトリから全体を検索すると長時間かかる場合がありますが、異なる端末でデバッグを行う場合は、失敗する可能性が格段に低くなります。

Gradle シンボル ファイルを含むディレクトリはデバッガーが自動的に使用するため、このようなファイルを追加する必要はありません。

LLDB スタートアップ コマンド

デバッガーをプロセスにアタッチする前に実行する LLDB コマンドを追加します。たとえば、次に示すコマンドのように、環境の設定を定義できます。

settings set target.max-memory-read-size 2048

LLDB は、コマンドを上から下に順次実行します。

LLDB ポストアタッチ コマンド

デバッガーをプロセスにアタッチした直後に実行する LLDB コマンドを追加します。次に例を示します。

process handle SIGPIPE -n true -p true -s false

LLDB は、コマンドを上から下に順次実行します。

Host working directory LLDB 作業ディレクトリを指定します。
Logging:Target channels

LLDB ログ オプションを指定します。Android Studio では、低速になり過ぎず、かつ問題のトラブルシューティングに必要な情報が含まれるように、経験則に基づいたデフォルトのオプションが設定されています。通常、ログは Android Studio バグレポートに対してリクエストされます。デフォルトは次のとおりです。

lldb process:gdb-remote packets

このデフォルトを変更して、より多くの情報を収集できます。たとえば、次のログ オプションでは特定の platform に関する情報を収集します。

lldb process platform:gdb-remote packets

Android Studio の LLDB シェル ウィンドウで log list コマンドを入力すると、すべてのログコマンドの一覧が表示されます。

Android Studio では、端末のログが次の場所に配置されます。ここで、ApplicationId は一意のアプリケーション ID です。アプリケーション ID は、ビルドされた APK マニフェスト内で使用され、これにより端末と Google Play ストアでアプリが識別されます。

/data/data/ApplicationId/lldb/log

複数のユーザーが端末にアクセスする場合、ログは次の場所に配置されます。ここで、AndroidUserId は、端末でのユーザーの固有識別子です。

/data/user/AndroidUserId/ApplicationId/lldb/log

リモート デバッグに LLDB を使用する方法の詳細については、リモート デバッグをご覧ください。

Before Launch 起動前操作の定義をご覧ください。

[Profiling] タブ

[Profiling] タブで、Android Monitor 用の GPU デバッガー プロファイリング オプションを指定します。

フィールド 説明
Graphics Trace Options:Capture GPU Commands

これを有効にすると、この実行 / デバッグ構成によって GPU トレース対応のアプリがビルド、インストール、および実行されます。アプリのデバッグ中のトレースはサポートされていません。GPU トレースを有効にしてアプリをデバッグすると、メッセージが表示され、デバッガーはトレースなしで起動します。このオプションは、GPU デバッガー ツールに関連します。

このチェックボックスをオンにすると、アプリは起動するたびにデバッガーか GPU デバッガーがアタッチされるまで停止します。

Graphics Trace Options:Disable precompiled shaders and programs

このオプションを選択すると、トレース中はプリコンパイルされたシェーダーとプログラム バイナリの OpenGL ES グラフィック ドライバのサポートが無効になります。このオプションは、GPU デバッガー ツールに関連します。

プリコンパイルされたシェーダーはトレース再生に対応していないため、glShaderSource 関数を使用して実行時にコンパイルされるシェーダーのみがフレームバッファの調査に使用できます。

アプリで glShaderBinary または glProgramBinary 関数を使用する前に、プリコンパイルされたシェーダーのサポート可否を問い合わせて、プリコンパイルされたシェーダーまたはプログラムがサポートされない場合は実行時コンパイルにフォールバックする必要があります。

デフォルト: 未選択

Before Launch 起動前操作の定義をご覧ください。

Android Tests

ソースセットに応じて使用する必要があるテスト テンプレートです。Android Tests テンプレートは、インスツルメント テスト用です。JUnit テンプレートは、ローカル ユニットテスト用です。

Firebase Test Lab を利用してさまざまな端末でテストを行う場合は、このテンプレートを使ってインスツルメント テストを定義できます。詳細については、Firebase Test Lab を使ってテストを実行するをご覧ください。

名前と共有

実行 / デバッグ構成には [Name] と [Share] のオプションがあります。テンプレートにはこれらのオプションはありません。

フィールド 説明
名前 実行 / デバッグ構成の名前。
共有

バージョン管理を介して実行 / デバッグ構成を他のチームメンバーでも利用可能にするには、このオプションを選択します。実行 / デバッグ構成は共有できますが、テンプレートは共有できません。このオプションを選択して、Git(または別のバージョン管理システム)にプロジェクトをチェックインすると、別のメンバーがプロジェクトをチェックアウトした際に、実行 / デバッグ構成が含まれるようになります。

Android Studio では、共有の実行 / デバッグ構成が .idea/runConfigurations フォルダ内の個別の XML ファイルに保存されます。ここに保存されない場合、構成は .idea/workspace.xml ファイルに保存されます。詳細については、ディレクトリベースのプロジェクト フォーマットをご覧ください。

デフォルト: 未選択

[General] タブ

[General] タブでは、テストの場所、インスツルメンテーション ランナー、adb シェル、デプロイのオプションを指定できます。

フィールド 説明
Module この構成を適用するモジュールを選択します。
Test

この領域では、テストを実行する場所を指定します。

  • All in module(デフォルト)- 選択されているモジュールから、すべてのテストを起動します。
  • All in package - [Package] フィールドで指定されているパッケージから、すべてのテストを起動します。名前を入力するか、 をクリックしてダイアログからパッケージを選択します。
  • Class - [Class] フィールドで指定されたクラスのテストを起動します。名前を入力するか、 をクリックしてダイアログからクラスを選択します。
  • Method - メソッドのテストを起動します。[Class] フィールドで、メソッドを含むクラスを指定します。[Method] フィールドで、メソッドを指定します。名前を入力するか、 をクリックしてダイアログからメソッドを選択します。
Specific instrumentation runner(省略可能) インスツルメンテーション ランナーの場所を入力します。 をクリックしてダイアログを使用します。build.gradle ファイルで指定されているインスツルメンテーション ランナーの場所より、このフィールドの値が優先されます。通常、デフォルトは Android Testing Support LibraryAndroidJUnitRunner クラスです。
Extra options 使用する任意の adb am instrument オプションを入力します。コンポーネントを入力しないでください。たとえば、Android Testing Support LibraryAndroidJUnitRunner を使用している場合は、このフィールドを使って -e size small などの追加オプションをランナーに渡すことができます。デフォルト: オプションなし
Deployment Target Options:ターゲット

オプションを選択します。

  • Open Select Deployment Target Dialog(デフォルト)- [Select Deployment Target] ダイアログを開いて、仮想端末またはハードウェア端末を選択します。
  • USB Device - USB ポートを介して開発用コンピュータに接続しているハードウェア端末を使用します。複数の端末が存在する場合、端末を選択するダイアログが表示されます。
  • Emulator - 仮想端末を使用します。構成内で AVD を選択できます。選択しない場合、リスト内の最初の AVD が使われます。
  • Firebase Test Lab Device Matrix - Firebase Test Lab を使ってテストを実行するをご覧ください。
Deployment Target Options:Use same device for future launches [Select Deployment Target] ダイアログで選択した端末を今後も自動的に使用するには、このオプションを選択します。端末を使用できない場合、ダイアログが表示されます。デフォルト: 未選択
Before Launch 起動前操作の定義をご覧ください。

[Miscellaneous] タブ

[Miscellaneous] タブには、logcat とインストールのオプションが含まれています。

フィールド 説明
Logcat:Clear log before launch アプリを起動する前に以前のセッションのデータがログファイルから削除されるようにするには、このオプションを選択します。デフォルト: 未選択
Installation Options:Skip installation if APK has not changed これを選択すると、APK に変更がないことが Android Studio で検出された場合に APK が再デプロイされません。Android Studio で APK に変更がなくても APK のインストールが強制されるようにするには、このオプションの選択を解除します。デフォルト: 選択
Installation Options:Force stop running application before launching activity

これを選択すると、Android Studio によって、APK に変更がないために APK の再インストールが不要であると判断された場合に、強制的にアプリが停止されます。その場合、アプリはデフォルトのランチャー アクティビティから起動します。このオプションが選択解除された場合、Android Studio ではアプリを強制停止しません。

このオプションは、APK をインストールするかどうかを制御する前出のオプションと連動します。明示的に毎回のインストールを強制する場合を除き、両方の [Installation Options] フィールドをデフォルトのままにしておいてください。

ただし、このオプションを選択解除すべき場合もあります。たとえば、入力メソッド エンジン(IME)を作成している場合などです。アプリが強制停止されると、現在のキーボードとして選択されている IME が未選択になりますが、これは望ましくありません。

デフォルト: 選択

Before Launch 起動前操作の定義をご覧ください。

[Debugger] タブ

[Debugger] タブで、デバッグ オプションを指定します。

C および C++ コードの場合、Android Studio では LLDB デバッガーが使われます。通常の Android Studio UI に加えて、デバッガー ウィンドウに [LLDB] タブが表示されるため、デバッグ中に LLDB コマンドを入力できます。Android Studio で情報を表示するために使用されるコマンドと同じものをデバッガー UI に入力して、追加の操作を実行できます。

C および C++ プロジェクトの場合は、シンボル ディレクトリに加えて LLDB のスタートアップ コマンドやポストアタッチ コマンドを [Debugger] タブに追加できます。これを行うには、次のようなボタンを使用します。

  • 追加 - ディレクトリまたはコマンドを追加します。
  • 削除 - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、アイテムが削除されます。
  • 上へ - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、リスト内でアイテムが上に移動します。
  • 下へ - ディレクトリまたはコマンドを選択してこのボタンをクリックすると、リスト内でアイテムが下に移動します。

Android Studio でのデバッグの詳細については、アプリのデバッグをご覧ください。

フィールド 説明
Debug type

次のいずれかのオプションを選択します。

  • Auto(デフォルト)- Android Studio によりプロジェクトに最適なデバッグ タイプが選択されます。
  • Java - Java コードのみをデバッグします。
  • Native - ネイティブ C または C++ コードをデバッグします。
  • Hybrid - 2 つの独立したデバッグ セッションで、Java コードとネイティブ コードをデバッグします。

推奨設定は、プロジェクトに適したデバッグ タイプが自動で選択される [Auto] です。

試験運用版: Use Java aware C++ debugger - Android N+ only

同一の LLDB デバッグ セッションで C++ コードと Java Android コードの両方をデバッグする場合に、このオプションを選択します。Java 対応の C++ デバッガーは [Native] デバッガー モードの拡張であり、C++ のデバッグに加えて Java もサポートしています。

この機能を使用するためのプロジェクトの要件は次のとおりです。

  • Android 7.0(API レベル 24)以上を使用していること。
  • [Debug type] が [Native] または [Auto] であること。

[Debug type] に [Auto] を選択し、プロジェクト要件が満たされていれば、Android Studio では自動的にこのオプションが選択されます。LLDB を使って Java のみのプロジェクトをデバッグする場合は、このオプションと [Native] を選択できます。

Android Studio 2.2 の時点で、この機能は試験運用版です。詳細については、試験運用版の Java 対応 C++ デバッガーの使用をご覧ください。

デフォルト: 未選択

Symbol Directories

シンボル ファイルを追加して Android Studio 以外で生成された C または C++ の情報をデバッガーに提供する場合は、ここで 1 つ以上のディレクトリを追加できます。Android Studio では、Android Plugin for Gradle で生成されたファイルよりも、これらのディレクトリ内のファイルが優先的に使用されます。デバッガーでは、必要な項目が見つかるまでディレクトリを上から下へ順次検索します。ディレクトリ内ではすべてのファイルが再帰的に検索されます。リストを最適化して所要時間を削減するには、最も使用頻度の高いディレクトリをリストの上部に配置します。

ツリーの上位階層にあるディレクトリを指定すると、サブディレクトリをすべて検索するのに時間がかかります。検索時間を短縮するには、特定のディレクトリを指定します。検索速度とデバッグに必要なファイル検出の適切なバランスを見極める必要があります。たとえば、異なる Android バイナリ インターフェース(ABI)向けの複数のサブディレクトリを含むディレクトリがある場合は、特定の ABI のディレクトリを追加することも、すべての ABI のディレクトリを追加することもできます。上位レベルのディレクトリから全体を検索すると長時間かかる場合がありますが、異なる端末でデバッグを行う場合は、失敗する可能性が格段に低くなります。

Gradle シンボル ファイルを含むディレクトリはデバッガーが自動的に使用するため、このようなファイルを追加する必要はありません。

LLDB スタートアップ コマンド

デバッガーをプロセスにアタッチする前に実行する LLDB コマンドを追加します。たとえば、次に示すコマンドのように、環境の設定を定義できます。

settings set target.max-memory-read-size 2048

LLDB は、コマンドを上から下に順次実行します。

LLDB ポストアタッチ コマンド

デバッガーをプロセスにアタッチした直後に実行する LLDB コマンドを追加します。次に例を示します。

process handle SIGPIPE -n true -p true -s false

LLDB は、コマンドを上から下に順次実行します。

Host working directory LLDB 作業ディレクトリを指定します。
Logging:Target channels

LLDB ログ オプションを指定します。Android Studio では、低速になり過ぎず、かつ問題のトラブルシューティングに必要な情報が含まれるように、経験則に基づいたデフォルトのオプションが設定されています。通常、ログは Android Studio バグレポートに対してリクエストされます。デフォルトは次のとおりです。

lldb process:gdb-remote packets

このデフォルトを変更して、より多くの情報を収集できます。たとえば、次のログ オプションでは特定の platform に関する情報を収集します。

lldb process platform:gdb-remote packets

Android Studio の LLDB シェル ウィンドウで log list コマンドを入力すると、すべてのログコマンドの一覧が表示されます。

Android Studio では、端末のログが次の場所に配置されます。ここで、ApplicationId は一意のアプリケーション ID です。アプリケーション ID は、ビルドされた APK マニフェスト内で使用され、これにより端末と Google Play ストアでアプリが識別されます。

/data/data/ApplicationId/lldb/log

複数のユーザーが端末にアクセスする場合、ログは次の場所に配置されます。ここで、AndroidUserId は、端末でのユーザーの固有識別子です。

/data/user/AndroidUserId/ApplicationId/lldb/log

リモート デバッグに LLDB を使用する方法の詳細については、リモート デバッグをご覧ください。

Before Launch 起動前操作の定義をご覧ください。

[Profiling] タブ

[Profiling] タブで、Android Monitor 用の GPU デバッガー プロファイリング オプションを指定します。

フィールド 説明
Graphics Trace Options:Capture GPU Commands

これを有効にすると、この実行 / デバッグ構成によって GPU トレース対応のアプリがビルド、インストール、および実行されます。アプリのデバッグ中のトレースはサポートされていません。GPU トレースを有効にしてアプリをデバッグすると、メッセージが表示され、デバッガーはトレースなしで起動します。このオプションは、GPU デバッガー ツールに関連します。

このチェックボックスをオンにすると、アプリは起動するたびにデバッガーか GPU デバッガーがアタッチされるまで停止します。

Graphics Trace Options:Disable precompiled shaders and programs

このオプションを選択すると、トレース中はプリコンパイルされたシェーダーとプログラム バイナリの OpenGL ES グラフィック ドライバのサポートが無効になります。このオプションは、GPU デバッガー ツールに関連します。

プリコンパイルされたシェーダーはトレース再生に対応していないため、glShaderSource 関数を使用して実行時にコンパイルされるシェーダーのみがフレームバッファの調査に使用できます。

アプリで glShaderBinary または glProgramBinary 関数を使用する前に、プリコンパイルされたシェーダーのサポート可否を問い合わせて、プリコンパイルされたシェーダーまたはプログラムがサポートされない場合は実行時コンパイルにフォールバックする必要があります。

デフォルト: 未選択

Before Launch 起動前操作の定義をご覧ください。

App Engine DevAppServer

この実行 / デバッグ構成は、Google Cloud Platform に適用されます。詳細については、App Engine Java Servlet モジュールの追加およびバックエンドの実行、テスト、デプロイをご覧ください。これらのドキュメントで説明されているステップに従ってプロジェクトを build.gradle ファイルに同期するときに、Android Studio によって App Engine DevAppServer 構成が作成されます。

IntellJ IDEA の App Engine Server テンプレートは、Android Studio では利用できない別のテンプレートです。

フィールド 説明
名前 実行 / デバッグ構成の名前。
共有

バージョン管理を介して実行 / デバッグ構成を他のチームメンバーでも利用可能にするには、このオプションを選択します。実行 / デバッグ構成は共有できますが、テンプレートは共有できません。このオプションを選択して、Git(または別のバージョン管理システム)にプロジェクトをチェックインすると、別のメンバーがプロジェクトをチェックアウトした際に、実行 / デバッグ構成が含まれるようになります。

Android Studio では、共有の実行 / デバッグ構成が .idea/runConfigurations フォルダ内の個別の XML ファイルに保存されます。ここに保存されない場合、構成は .idea/workspace.xml ファイルに保存されます。詳細については、ディレクトリベースのプロジェクト フォーマットをご覧ください。

デフォルト: 未選択

Single instance only 一度に実行する実行 / デバッグ構成のインスタンスを 1 つに制限するには、このオプションを選択します。これにより、同時に複数の同じ構成が実行されなくなります。デフォルト: 選択
Module この構成を適用するモジュールを選択します。
Synchronize with build.gradle configuration App Engine モジュールを追加して build.gradle ファイルと同期する場合、App Engine DevAppServer 構成の各フィールドが自動的に入力されます(推奨)。[Tools] > [Android] > [Sync Project with Gradle Files] を選択しても、プロジェクトが同期されます。デフォルト: 選択
App Engine SDK ローカル マシン上の Java の Google App Engine SDK へのパスを入力します。... をクリックしてダイアログでパスを選択します。
War Path ローカルの開発用サーバー上でデプロイしているアプリの Web Application Archive(WAR)ディレクトリへのパスを入力します。... をクリックしてダイアログでパスを選択します。
VM Args

DevAppServer を起動するために VM に渡すコマンドライン オプションを指定します。オプションを指定する際には、以下の点に注意してください。

  • スペースを使って異なるオプションを区切ります。
  • スペースを含むオプションの場合、スペースを引用符(" ")で囲みます。
  • オプションに引用符が含まれている場合、引用符の前にバックスラッシュ(\")を追加します。

VM オプションの詳細については、java JDK 7java JDK 8 など、使用している J2SE バージョンのドキュメントをご覧ください。

デフォルト: オプションなし

Server Address サーバーに使用するホスト アドレスを入力します。ネットワーク上の別のコンピュータから開発用サーバーにアクセスできるようにするために、アドレスを指定する必要がある場合があります。アドレスを 0.0.0.0 にすると、localhost アクセスと ホスト名アクセスの両方が可能になります。デフォルト: localhost
Server Port サーバーに使用するポート番号を入力します。デフォルト: 8080
Disable Check for App Engine SDK Updates このオプションを選択すると、開発用サーバーは SDK の新しいリリースが利用可能かどうかをチェックするための App Engine との通信を行いません。デフォルトでは、サーバーは起動時に新しいバージョンのチェックを実行して、新しいバージョンが利用可能な場合はメッセージを出力します。
Before Launch 起動前操作の定義をご覧ください。