Android Studio の概要

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Android Studio は Android アプリ開発用の公式の統合開発環境(IDE)です。 IntelliJ IDEA の強力なコードエディタとデベロッパー ツールをベースとした Android Studio には、Android アプリを構築する際の生産性向上に役立つ次のような多くの機能が用意されています。

  • Gradle ベースの柔軟なビルドシステム
  • 豊富な機能を備えた高速なエミュレータ
  • あらゆる Android デバイス向けの開発が可能な統合環境
  • Apply Changes を使用すると、アプリを再起動せずに実行中のアプリに対してコードやリソースの変更をプッシュできます。
  • アプリの共通機能の作成やサンプルコードのインポートに役立つコード テンプレートおよび GitHub との統合
  • 多彩なテストツールとフレームワーク
  • パフォーマンス、ユーザビリティ、バージョン互換性などの問題を検出する lint ツール
  • C++ と NDK のサポート
  • Google Cloud Messaging と App Engine の統合を容易にする、Google Cloud Platform の組み込みサポート

このページでは、Android Studio の基本的な機能をご紹介します。最新の変更の概要については、Android Studio リリースノートをご覧ください。

プロジェクトの構造

図 1. Android プロジェクト ビューのプロジェクト ファイル。

Android Studio の各プロジェクトには、ソースコード ファイルとリソース ファイルを格納した 1 つ以上のモジュールが含まれています。モジュールには次のタイプがあります。

  • Android アプリ モジュール
  • ライブラリ モジュール
  • Google App Engine モジュール

Android Studio ではデフォルトで、図 1 に示すようにプロジェクト ファイルが Android プロジェクト ビューに表示されます。このビューはモジュールごとに整理されており、プロジェクトの主なソースファイルにすばやくアクセスできます。ビルドファイルはすべて [Gradle Scripts] の直下の階層に表示されます。

各アプリ モジュールには次のフォルダが含まれています。

  • manifests: AndroidManifest.xml ファイルがあります。
  • java: JUnit テストコードを含む Java と Kotlin のソースコード ファイルが含まれます。
  • res: XML レイアウト、UI 文字列、ビットマップ画像など、コード以外のすべてのリソースがあります。

実際のディスク上の Android プロジェクト構造は、ここで示した階層化されていない構造とは異なります。プロジェクトの実際のファイル構造を表示するには、[Project] メニューから [Android] ではなく [Project] を選択します。

アプリ開発の特定の側面に重点的に取り組むために、プロジェクトのファイルの表示をカスタマイズすることもできます。たとえば、プロジェクトの [Problems] ビューを選択して、認識されたコーディング エラーや構文エラー(レイアウト ファイルに XML 要素の閉じタグがないなど)があるソースファイルへのリンクを表示します。

図 2. [Problems] ビューに表示された問題のあるレイアウト ファイル。

詳しくは、プロジェクトの概要をご覧ください。

ユーザー インターフェース

Android Studio のメイン ウィンドウは、図 3 に示すようにいくつかの論理領域で構成されています。

図 3. Android Studio のメイン ウィンドウ

  1. ツールバー: アプリの実行、Android ツールの起動など、さまざまな種類の操作が可能です。
  2. ナビゲーション バー: プロジェクト内を移動したり、編集するファイルを開いたりできます。[Project] ウィンドウよりもコンパクトにプロジェクト構造が表示されます。
  3. エディタ ウィンドウ: コードの作成や編集を行います。作業中のファイル形式に応じてエディタが変化します。たとえば、レイアウト ファイルを表示すると、エディタがレイアウト エディタになります。
  4. ツール ウィンドウ バー: IDE ウィンドウの外側にあるボタンを使用して、個々のツール ウィンドウの展開や折り畳みを行えます。
  5. ツール ウィンドウ: プロジェクト管理、検索、バージョン管理など、特定のタスクにアクセスできます。ツール ウィンドウは展開または折りたたむことができます。
  6. ステータスバー: プロジェクトと IDE 自体のステータスのほか、警告やメッセージが表示されます。

画面スペースを広げるためにメイン ウィンドウを整理するには、ツールバーとツール ウィンドウを非表示にするか、移動します。IDE のほとんどの機能は、キーボード ショートカットを使ってアクセスすることもできます。

ソースコード、データベース、アクション、ユーザー インターフェースの要素などを検索するには、以下のいずれかを行います。

  • Shift キーを 2 回押す。
  • Android Studio ウィンドウの右上にある虫メガネをクリックする。

この機能は、呼び出し方を忘れた IDE の特定の操作を見つけたいときなどに便利です。

ツール ウィンドウ

ツール ウィンドウのツール群は常に一定ではありません。作業状況に応じて関連するツール ウィンドウが自動的に表示されます。デフォルトでは、アプリケーション ウィンドウの端のツール ウィンドウ バーに最も一般的なツール ウィンドウがピン留めされています。

次のようにして、ツール ウィンドウを操作します。

  • ツール ウィンドウを展開する、または折りたたむには、ツール ウィンドウ バーでツール名をクリックします。ツール ウィンドウは、ドラッグ、ピン留め、ピン留め解除、アタッチ、デタッチすることもできます。
  • 現在のツール ウィンドウのデフォルト レイアウトに戻すには、[Window] > [Restore Default Layout] をクリックします。デフォルトのレイアウトをカスタマイズするには、[Window] > [Store Current Layout as Default] をクリックします。
  • ツール ウィンドウ バー全体の表示、非表示を切り替えるには、Android Studio ウィンドウの左下にあるウィンドウ アイコン をクリックします。
  • 特定のツール ウィンドウを探すには、ウィンドウ アイコンの上にカーソルを合わせ、メニューからツール ウィンドウを選択します。

キーボード ショートカットを使ってツール ウィンドウを開くこともできます。表 1 に、よく使用されるツール ウィンドウのショートカットを示します。

表 1. ツール ウィンドウのキーボード ショートカット

ツール ウィンドウ Windows と Linux macOS
プロジェクト Alt+1 command+1
[Version Control] Alt+9 command+9
[Run] Shift+F10 Ctrl+R
[Debug] Shift+F9 Ctrl+D
[Logcat] Alt+6 command+6
エディタに戻る Esc esc
ツール ウィンドウをすべて非表示にする Ctrl+Shift+F12 command+shift+F12

すべてのツールバー、ツール ウィンドウ、エディタのタブを非表示にするには、[View] > [Enter Distraction Free Mode] をクリックします。集中モードを終了するには、[View] > [Exit Distraction Free Mode] をクリックします。

Android Studio のほとんどのツール ウィンドウでは、Speed Search を使用して検索とフィルタ処理を行えます。Speed Search を使用するには、ツール ウィンドウを選択して検索クエリを入力します。

コード補完

Android Studio には 3 種類のコード補完機能があり、キーボード ショートカットで利用できます。

表 2. コード補完のキーボード ショートカット

タイプ 説明 Windows と Linux macOS
基本的な補完 変数、型、メソッド、式など、基本的な候補を提示します。基本的な補完を 2 回連続して呼び出すと、プライベート メンバーやインポートされていない静的メンバーなど、さらに多くの候補が表示されます。 Ctrl+Space Ctrl+Space
スマート補完 状況に応じた関連オプションを表示します。スマート補完では、予測される型とデータフローを認識したうえで候補が提示されます。スマート補完を 2 回連続して呼び出すと、チェーンなど、さらに多くの候補が表示されます。 Ctrl+Shift+Space Ctrl+Shift+Space
文補完 不足している丸かっこ、角かっこ、波かっこ、書式などを追加して、現在作業中の文を補完します。 Ctrl+Shift+Enter command+shift+enter

クイック修正を行い、インテントのアクションを表示するには、Alt+Enterを押します。

サンプルコードを探す

Android Studio の Code Sample Browser を使うと、プロジェクトで現在ハイライト表示されているシンボルに基づいて、Google が提供する高品質な Android コードサンプルを検索できます。詳しくは、サンプルコードを探すをご覧ください。

Android Studio のナビゲーションのヒントをご紹介します。

  • Recent Files アクションを使用して、最近アクセスしたファイル間の切り替えを行います。

    Recent Files アクションを起動するには、Ctrl+E キー(macOS では command+E キー)を押します。デフォルトでは、最後にアクセスしたファイルが選択されます。このアクションを使用して、左の列から任意のツール ウィンドウにアクセスすることもできます。

  • File Structure アクションを使用すると、現在のファイルの構造を表示して、ファイル内の一部分にすぐに移動できます。

    File Structure アクションを起動するには、Ctrl+F12 キー(macOS では command+F12 キー)を押します。

  • Navigate to Class アクションを使用すると、プロジェクト内の特定のクラスを検索して移動します。Navigate to Class は、要素のキャメルケース名の中の大文字で検索できるキャメルハンプ、パス、ファイル内の特定の行に移動できるライン ナビゲーション、クラス名の一部分を検索できるミドルネーム マッチングなどの高度な式に対応しています。2 回連続で呼び出すと、プロジェクト外部のクラスの検索結果が表示されます。

    Navigate to Class アクションを起動するには、Ctrl+N(macOS では command+O)キーを押します。

  • Navigate to File アクションを使用して、ファイルやフォルダに移動します。

    Navigate to File アクションを起動するには、Ctrl+Shift+N キー(macOS では command+Shift+O キー)を押します。ファイルではなくフォルダを検索するには、式の末尾に "/" を付けます。

  • Navigate to Symbol アクションを使用して、名前でメソッドまたはフィールドに移動します。

    Navigate to Symbol アクションを起動するには、Control+Shift+Alt+N キー(macOS では command+option+O キー)を押します。

  • 現在のカーソル位置にあるクラス、メソッド、フィールド、パラメータ、文を参照するすべてのコードを検索するには、Alt+F7(macOS では option+F7)キーを押します。

スタイルと形式

編集中、Android Studio はコードスタイル設定で指定された書式とスタイルを自動的に適用します。プログラミング言語ごとに、このコードスタイル設定をカスタマイズできます。たとえば、タブとインデント、スペース、改行と波かっこ、空行などの規則を指定できます。

コードスタイル設定をカスタマイズするには、[File] > [Settings] > [Editor] > [Code Style](macOS では [Android Studio] > [Preferences] > [Editor] > [Code Style])をクリックします。

IDE では作業中に自動で書式が適用されますが、Reformat Code アクションを明示的に呼び出すこともできます。このアクションを呼び出すには、Ctrl+Alt+L キー(macOS では Opt+Command+L キー)を押します。すべての行を自動的にインデントするには、Ctrl+Alt+I キー(macOS では Ctrl+Option+I キー)を押します。

図 4. 書式設定前のコード

図 5. 書式設定後のコード

バージョン管理の基本

Android Studio は、Git、GitHub、CVS、Mercurial、Subversion、Google Cloud Source Repositories など、さまざまなバージョン管理システム(VCS)をサポートしています。

アプリを Android Studio にインポートした後、Android Studio の VCS メニュー オプションで、目的のシステムに対する VCS サポートの有効化、リポジトリの作成、新しいファイルのバージョン管理へのインポート、その他のバージョン管理オペレーションを行えます。

VCS のサポートを有効にする手順は次のとおりです。

  1. Android Studio の [VCS] メニューで、[Enable Version Control Integration] を選択します。
  2. メニューから、プロジェクトのルートに関連付ける VCS を選択します。
  3. [OK] をクリックします。

選択したシステムに基づいて、VCS メニューにさまざまなバージョン管理オプションが表示されます。

注: [File] > [Settings] > [Version Control] メニュー オプションを使用して、バージョン管理の設定や変更を行うこともできます。

Gradle ビルドシステム

Android Studio のビルドシステムは Gradle が基盤になっています。さらに、Android Gradle プラグイン が提供する Android 固有の機能も使用できます。このビルドシステムは、Android Studio のメニューから統合ツールとして実行することも、コマンドラインから単独で実行することもできます。ビルドシステムの機能は次のことに使用できます。

  • ビルドプロセスをカスタマイズ、構成、拡張する。
  • 同じプロジェクトやモジュールを使って、アプリ向けに機能の異なる APK を複数作成する。
  • ソースセット全体でコードやリソースを再利用する。

柔軟性の高い Gradle の採用によって、アプリの中核的なソースファイルに手を加えることなく、上記のすべてを行えます。

Android Studio のビルドファイルは build.gradle という名前の書式なしテキスト ファイルであり、Groovy の構文を使用します。ビルドの構成には、Android Gradle プラグインから提供される要素を使用します。各プロジェクトには、プロジェクト全体を対象とするトップレベルのビルドファイルが 1 つ存在し、それとは別にモジュール レベルのビルドファイルがモジュールごとに存在します。既存のプロジェクトをインポートすると、Android Studio により必要なビルドファイルが自動的に生成されます。

ビルドシステムの詳細とビルド構成方法については、ビルドを構成するをご覧ください。

ビルド バリアント

ビルドシステムを使うと、1 つのプロジェクトから同じアプリの異なるバージョンを作成できます。アプリの無料版と有料版を作成する場合や、Google Play でデバイスの構成ごとに複数の APK を配信する場合に便利です。

ビルド バリアントの設定について詳しくは、ビルド バリアントの設定をご覧ください。

複数 APK のサポート

複数 APK のサポートにより、画面密度または ABI に基づいて複数の APK を効率的に作成できます。たとえば、あるアプリの APK を hdpimdpi の各画面密度用に個別に作成できます。さらに、それらを 1 つのバリアントとみなし、テスト用 APK、javacdx、ProGuard の設定を共有することもできます。

複数 APK のサポートについて詳しくは、複数の APK のビルドをご覧ください。

リソースの圧縮

Android Studio のリソース圧縮機能により、パッケージ化アプリとライブラリの依存関係から使用されていないリソースが自動的に削除されます。たとえば、アプリで Google Play 開発者サービスを使用して Google ドライブの機能を利用しており、Google ログインは使用していない場合、リソース圧縮によって SignInButton ボタン用の各種のドローアブル アセットが削除されます。

注: リソース圧縮は、ProGuard などのコード圧縮ツールと連携して動作します。

コードとリソースの圧縮について詳しくは、アプリの圧縮、難読化、最適化をご覧ください。

依存関係を管理する

プロジェクトの依存関係は、build.gradle ファイルで名前を指定して設定します。Gradle は依存関係を検出し、ビルドで使用できるようにします。build.gradle ファイルでは、モジュールの依存関係、リモート バイナリの依存関係、ローカル バイナリの依存関係を宣言できます。

Android Studio では、プロジェクトはデフォルトで Maven Central Repository を使用するように設定されます。この設定は、プロジェクトのトップレベルにあるビルドファイルに含まれています。

依存関係の設定について詳しくは、ビルド依存関係の追加をご覧ください。

デバッグツールとプロファイル ツール

Android Studio のインライン デバッグやパフォーマンス分析ツールなどは、コードのデバッグやパフォーマンスの改善に役立てることができます。

インライン デバッグ

インライン デバッグを使用すると、参照、式、変数の値をインラインで確認できるため、デバッガビューでのコードのウォークスルーがしやすくなります。

インライン デバッグでは、次のような情報を利用できます。

  • 変数値のインライン表示
  • 選択したオブジェクトを参照するオブジェクト
  • メソッドの戻り値
  • ラムダ式と演算子式
  • ツールチップの値

図 6. 変数値のインライン表示

インライン デバッグを有効にするには、[Debug] ウィンドウで設定アイコン をクリックし、[Show Values Inline] をオンにします。

パフォーマンス プロファイラ

Android Studio のパフォーマンス プロファイラを使用すると、アプリのメモリ使用量と CPU 使用率を容易にトラッキングできるほか、割り当てが解除されたオブジェクトの検出、メモリリークの特定、グラフィックのパフォーマンスの最適化、ネットワーク リクエストの分析を行うことができます。

デバイスまたはエミュレータでアプリを実行した状態でパフォーマンス プロファイラを使用するには、[View] > [Tool Windows] > [Profiler] を選択して Android Profiler を開きます。

パフォーマンス プロファイラについて詳しくは、アプリのパフォーマンスをプロファイリングするをご覧ください。

ヒープダンプ

Android Studio でメモリ使用量をプロファイリングしながら、同時にガベージ コレクションを開始したり、Android 固有の HPROF バイナリ形式ファイルのヒープ スナップショットに Java ヒープをダンプしたりできます。HPROF ビューアには、クラス、各クラスのインスタンス、参照ツリーが表示されます。これらは、メモリ使用量のトラッキングやメモリリークの特定に役立ちます。

ヒープダンプの使用について詳しくは、ヒープダンプをキャプチャするをご覧ください。

Memory Profiler

Memory Profiler では、メモリ割り当てをトラッキングして、特定のアクションを行ったときにオブジェクトが割り当てられる場所を監視できます。この割り当てにより、そのようなアクションに関連するメソッド呼び出しを調整して、アプリのパフォーマンスやメモリの使用を最適化できます。

割り当てのトラッキングと分析について詳しくは、メモリ割り当ての表示をご覧ください。

データファイルへのアクセス

Android SDK Tools(SystraceLogcat など)からは、アプリの詳細な分析に使用できるパフォーマンス データやデバッグデータが生成されます。

生成済みの利用可能なデータファイルを表示するには:

  1. [Captures] ツール ウィンドウを開きます。
  2. 生成済みファイルの一覧で目的のファイルをダブルクリックすると、データを参照できます。
  3. HPROF ファイルを右クリックして、標準に変換します。
  4. RAM の使用状況のファイル形式を調査します。

コード インスペクション

Android Studio では、プログラムをコンパイルするたびに設定済みの lint チェックとその他の IDE インスペクションが自動的に実行されるため、コードの構造上の品質に関する問題を容易に特定して修正できます。

lint ツールは、Android プロジェクトのソースファイルをチェックして潜在的なバグを探し、正確性、セキュリティ、パフォーマンス、ユーザビリティ、ユーザー補助、国際化機能を最適化するための改善点を検出します。

図 7. Android Studio での lint インスペクションの結果。

Android Studio では、lint チェックに加え、IntelliJ コード インスペクションや、コーディング ワークフロー効率化のためのアノテーションの検証も行われます。

詳しくは、lint チェックでコードを改善するをご覧ください。

Android Studio でのアノテーション

Android Studio は、変数、パラメータ、戻り値のアノテーションをサポートしており、これらを通じて null ポインタ例外やリソースタイプの競合などのバグを検出できます。

Jetpack Annotations ライブラリは、Android SDK Manager の Android Support Repository に格納されているため、Android Studio で使用できます。Android Studio では、コード インスペクション中に、設定済みのアノテーションが検証されます。

Android のアノテーションについて詳しくは、アノテーションによるコード検査の改善をご覧ください。

ログ メッセージ

Android Studio でアプリをビルドして実行する際、Logcat ウィンドウadb の出力とデバイスのログメッセージを参照できます。

デベロッパー アカウントへのログイン

Android Studio でデベロッパー アカウントにログインすると、Firebase など、認証を必要とする追加のツールを利用できます。ログインすることにより、Google サービス全体にわたって自分のデータを表示し管理する権限を、これらのツールに与えることになります。

Android Studio でプロジェクトを開いたら、次のようにして、デベロッパー アカウントへのログインや、デベロッパー アカウントの切り替えを行えます。

  1. 図 8 に示すツールバーの右端にあるプロフィール アイコン をクリックします。

    図 8. プロフィール アイコンを使用してログインします。

  2. 表示されたウィンドウで、次のいずれかの操作を行います。

    • まだログインしていない場合は、[Sign In] をクリックして、Android Studio からリストされたサービスにアクセスできるようにします。
    • すでにログインしている場合は、[Add Account] をクリックして別の Google アカウントにログインします。

      または、[Sign Out] をクリックしてから再び前のステップを行うことで、別のアカウントにログインすることもできます。