Android Studio は、IntelliJ IDEA をベースとした、Android アプリ開発用の公式の統合開発環境(IDE)です。IntelliJ の強力なコードエディタと開発ツールに加えて、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 ソースコードのファイルがあります。
- res: XML レイアウト、UI 文字列、ビットマップ画像など、コード以外のすべてのリソースがあります。
実際のディスク上の Android プロジェクト構造は、ここで示した階層化されていない構造とは異なります。プロジェクトの実際のファイル構造を参照するには、[Project] プルダウンでプロジェクトを選択します(図 1 では [Android] と表示されています)。
アプリ開発の特定の側面に重点的に取り組むために、プロジェクトのファイルの表示をカスタマイズすることもできます。たとえば、プロジェクトの [Problems] ビューを選択すると、コードや構文上に認識されているエラー(レイアウト ファイルで XML 要素の終了タグが欠落しているなど)があるソースファイルへのリンクが表示されます。
図 2. [Problems] ビューのプロジェクト ファイル(問題のあるレイアウト ファイルが示されている)
詳しくは、プロジェクトの概要をご覧ください。
ユーザー インターフェース
Android Studio のメイン ウィンドウは、図 3 に示すようにいくつかの論理領域で構成されています。
図 3. Android Studio のメイン ウィンドウ
- ツールバーでは、アプリの実行、Android ツールの起動など、さまざまな種類の操作が可能です。
- ナビゲーション バーでは、プロジェクト内を移動したり、編集するファイルを開いたりできます。[Project] ウィンドウよりもコンパクトにプロジェクト構造が表示されます。
- エディタ ウィンドウではコードの作成や編集を行います。作業中のファイル形式に応じてエディタが変化します。たとえば、レイアウト ファイルを表示すると、エディタがレイアウト エディタになります。
- ツール ウィンドウ バーは IDE ウィンドウの周囲にあるバーです。このバーに表示されたボタンで、個々のツール ウィンドウを展開または折りたたむことができます。
- ツール ウィンドウでは、プロジェクト管理、検索、バージョン管理など、特定のタスクにアクセスできます。ツール ウィンドウは展開または折りたたむことができます。
- ステータスバーにはプロジェクトと IDE 自体のステータスのほか、警告やメッセージが表示されます。
ツールバーやツール ウィンドウを非表示にしたり移動したりして、メイン ウィンドウの構成を変更し、画面を広く使うこともできます。IDE のほとんどの機能は、キーボード ショートカットを使ってアクセスすることもできます。
Shift キーを 2 回押すか、Android Studio ウィンドウの右上にある虫メガネをクリックすると、ソースコード、データベース、アクション、ユーザー インターフェースの要素などをいつでも検索できます。この機能は、呼び出し方を忘れた IDE の特定の操作を見つけたいときなどに便利です。
ツール ウィンドウ
ツール ウィンドウのツール群は常に一定ではありません。作業状況に応じて関連するツール ウィンドウが自動的に表示されます。デフォルトでは、アプリケーション ウィンドウの端のツール ウィンドウ バーに最も一般的なツール ウィンドウがピン留めされています。
- ツール ウィンドウを展開する、または折りたたむには、ツール ウィンドウ バーでツール名をクリックします。ツール ウィンドウは、ドラッグ、ピン留め、ピン留め解除、アタッチ、デタッチすることもできます。
- デフォルトのツール ウィンドウのレイアウトに戻すには、[Window] > [Restore Default Layout] をクリックします。デフォルトのレイアウトをカスタマイズする場合は、[Window] > [Store Current Layout as Default] をクリックします。
- ツール ウィンドウ バー全体の表示、非表示を切り替えるには、Android Studio ウィンドウの左下にあるウィンドウ アイコン
をクリックします。
- 特定のツール ウィンドウを探すには、ウィンドウ アイコンの上にカーソルを合わせ、メニューからツール ウィンドウを選択します。
キーボード ショートカットを使ってツール ウィンドウを開くこともできます。表 1 に、よく使用されるツール ウィンドウのショートカットを示します。
表 1. よく使用されるツール ウィンドウのキーボード ショートカット
ツール ウィンドウ | Windows と Linux | Mac |
---|---|---|
[Project] | 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 | Mac |
---|---|---|---|
基本的な補完 | 変数、型、メソッド、式など、基本的な候補を提示します。基本的な補完を 2 回連続して呼び出すと、プライベート メンバーやインポートされていない静的メンバーなど、さらに多くの候補が表示されます。 | Ctrl+Space | Ctrl+Space |
スマート補完 | 状況に応じた関連オプションを表示します。スマート補完では、予測される型とデータフローを認識したうえで候補が提示されます。スマート補完を 2 回連続して呼び出すと、チェーンなど、さらに多くの候補が表示されます。 | Ctrl+Shift+Space | Ctrl+Shift+Space |
文補完 | 不足している丸かっこ、角かっこ、波かっこ、書式などを追加して、現在作業中の文を補完します。 | Ctrl+Shift+Enter | shift+command+enter |
Alt+Enter キーを押して、クイック修正を行い、目的のアクションを表示することもできます。
サンプルコードの検索
Android Studio の Code Sample Browser を使うと、プロジェクトで現在ハイライト表示されているシンボルに基づいて、Google が提供する高品質な Android コードサンプルを検索できます。詳しくは、サンプルコードを探すをご覧ください。
ナビゲーション
ここでは、Android Studio のおすすめのナビゲーション方法をご紹介します。
- 最近アクセスしたファイルに切り替えるには、Recent Files アクションを使用します。Recent Files アクションを呼び出すには、Ctrl+E(Mac では command+E)キーを押します。デフォルトでは、最後にアクセスしたファイルが選択されます。このアクションを使用して、左の列から任意のツール ウィンドウにアクセスすることもできます。
- 現在のファイル構成を表示するには、File Structure アクションを使用します。File Structure アクションを呼び出すには、Ctrl+F12(Mac では command+F12)キーを押します。このアクションを使用すると、現在のファイルの任意の場所にすばやく移動できます。
- プロジェクト内の特定のクラスを検索して移動するには、Navigate to Class アクションを使用します。このアクションを呼び出すには、Ctrl+N(Mac では command+O)キーを押します。Navigate to Class は、キャメルハンプ、パス、ライン ナビゲーション、ミドルネーム マッチングなどの高度な式に対応しています。2 回連続で呼び出すと、プロジェクト外部のクラスの検索結果が表示されます。
- ファイルまたはフォルダに移動するには、Navigate to File アクションを使用します。Navigate to File アクションを呼び出すには、Ctrl+Shift+N(Mac では command+shift+O)キーを押します。ファイルではなくフォルダを検索するには、式の末尾に / を付けます。
- 指定した名前のメソッドまたはフィールドに移動するには、Navigate to Symbol アクションを使用します。Navigate to Symbol アクションを呼び出すには、Ctrl+Shift+Alt+N(Mac では command+option+O)キーを押します。
- 現在のカーソル位置にあるクラス、メソッド、フィールド、パラメータ、文を参照するすべてのコードを検索するには、Alt+F7(Mac では option+F7)キーを押します。
スタイルと形式
編集中、Android Studio はコードスタイル設定で指定された書式とスタイルを自動的に適用します。プログラミング言語ごとに、このコードスタイル設定をカスタマイズできます。たとえば、タブとインデント、スペース、改行と波かっこ、空行などの規則を指定できます。コードスタイル設定をカスタマイズするには、[File] > [Settings] > [Editor] > [Code Style](Mac では [Android Studio] > [Preferences] > [Editor] > [Code Style])をクリックします。
IDE では作業中に自動で書式が適用されますが、Ctrl+Alt+L(Mac では option+command+L)キーを押すことで、Reformat Code アクションを明示的に呼び出すこともできます。また、Ctrl+Alt+I(Mac では control+option+I)キーを押すことで、すべての行にオートインデントを適用できます。
図 4. 書式設定前のコード
図 5. 書式設定後のコード
バージョン管理の基本
Android Studio は、Git、GitHub、CVS、Mercurial、Subversion、Google Cloud Source Repositories など、さまざまなバージョン管理システム(VCS)をサポートしています。
アプリを Android Studio にインポートした後、Android Studio の VCS メニュー オプションで、目的のバージョン管理システムに対する VCS サポートの有効化、リポジトリの作成、新しいファイルのバージョン管理へのインポート、その他のバージョン管理オペレーションを行えます。
- Android Studio の [VCS] メニューで、[Enable Version Control Integration] をクリックします。
- プルダウン メニューからプロジェクトのルートに関連付けるバージョン管理システムを選択し、[OK] をクリックします。
選択したシステムに基づいて、VCS メニューにさまざまなバージョン管理オプションが表示されます。
注: [File] > [Settings] > [Version Control] メニュー オプションを使用して、バージョン管理の設定や変更を行うこともできます。
Gradle ビルドシステム
Android Studio のビルドシステムは Gradle が基盤になっています。さらに、Android Plugin for Gradle が提供する Android 固有の機能も使用できます。このビルドシステムは、Android Studio のメニューから統合ツールとして実行することも、コマンドラインから単独で実行することもできます。ビルドシステムの機能は次のことに使用できます。
- ビルドプロセスをカスタマイズ、構成、拡張する。
- 同じプロジェクトやモジュールを使って、アプリ向けに機能の異なる APK を複数作成する。
- ソースセット全体でコードやリソースを再利用する。
柔軟性の高い Gradle の採用によって、アプリの中核的なソースファイルに手を加えることなく、上記のすべてを行えます。Android Studio のビルドファイルは build.gradle
という名前の書式なしテキスト ファイルであり、Groovy の構文を使用します。ビルドの構成には、Android Plugin for Gradle から提供される要素を使用します。各プロジェクトには、プロジェクト全体を対象とするトップレベルのビルドファイルが 1 つ存在し、それとは別にモジュール レベルのビルドファイルがモジュールごとに存在します。既存のプロジェクトをインポートすると、Android Studio により必要なビルドファイルが自動的に生成されます。
ビルドシステムとその構成方法について詳しくは、ビルドを設定するをご覧ください。
ビルド バリアント
ビルドシステムを使うと、1 つのプロジェクトから同じアプリの異なるバージョンを作成できます。アプリの無料版と有料版を作成する場合や、Google Play でデバイスの構成ごとに複数の APK を配信する場合に便利です。
ビルド バリアントの設定について詳しくは、ビルド バリアントを設定するをご覧ください。
複数 APK のサポート
複数 APK のサポートにより、画面密度または ABI に基づいて複数の APK を効率的に作成できます。たとえば、あるアプリの APK を hdpi と mdpi の各画面密度用に個別に作成できます。さらに、それらを 1 つのバリアントとみなし、テスト用 APK、javac、dx、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 使用率を容易にトラッキングできるほか、割り当てが解除されたオブジェクトの検出、メモリリークの特定、グラフィックのパフォーマンスの最適化、ネットワーク リクエストの分析を行うことができます。パフォーマンス プロファイラを使用するには、デバイスまたはエミュレータでアプリを実行しているときに [Android Profiler] タブを開きます。
パフォーマンス プロファイラについて詳しくは、パフォーマンス プロファイリング ツールをご覧ください。
ヒープダンプ
Android Studio でメモリ使用量をプロファイリングしながら、同時にガベージ コレクションを開始したり、Android 固有の HPROF バイナリ形式ファイルのヒープ スナップショットに Java ヒープをダンプしたりできます。HPROF ビューアには、クラス、各クラスのインスタンス、参照ツリーが表示されます。これらは、メモリ使用量のトラッキングやメモリリークの特定に役立ちます。
ヒープダンプの使用について詳しくは、ヒープとメモリ割り当ての検査をご覧ください。
Memory Profiler
Memory Profiler では、メモリ割り当てをトラッキングして、特定のアクションを行ったときにオブジェクトが割り当てられる場所を監視できます。この割り当てを把握することで、そのようなアクションに関連するメソッド呼び出しを調整して、アプリのパフォーマンスやメモリの使用を最適化できます。
割り当てのトラッキングと分析について詳しくは、ヒープとメモリ割り当ての検査をご覧ください。
データファイルへのアクセス
Android SDK Tools(Systrace、logcat など)からは、アプリの詳細な分析に使用できるパフォーマンス データやデバッグデータが生成されます。
生成済みの利用可能なデータファイルを表示するには、[Captures] ツール ウィンドウを開きます。生成済みファイルの一覧で目的のファイルをダブルクリックすると、データを参照できます。.hprof
ファイルを右クリックして、RAM の使用状況を調査するための標準ファイル形式に変換できます。
コード インスペクション
Android Studio では、プログラムをコンパイルするたびに設定済みの lint とその他の IDE インスペクションが自動的に実行されるため、コードの構造上の品質に関する問題を容易に特定して修正できます。
lint ツールでは、Android プロジェクトのソースファイルをチェックすることで、潜在するバグのほか、正確性、セキュリティ、パフォーマンス、ユーザビリティ、ユーザー補助、国際化について最適化するための改善点が検出されます。
図 7. Android Studio での lint インスペクションの結果
Android Studio では、lint チェックに加え、IntelliJ コード インスペクションや、コーディング ワークフロー効率化のためのアノテーションの検証も行われます。
詳しくは、lint チェックでコードを改善するをご覧ください。
Android Studio でのアノテーション
Android Studio は、変数、パラメータ、戻り値のアノテーションをサポートしており、これらを通じて null ポインタ例外やリソースタイプの競合などのバグを検出できます。Support-Annotations ライブラリは、Android SDK Manager の Android Support Repository に格納されているため、Android Studio で使用できます。Android Studio では、コード インスペクション中に、設定済みのアノテーションが検証されます。
Android のアノテーションについて詳しくは、アノテーションによるコード検査の改善をご覧ください。
ログメッセージ
Android Studio でアプリをビルドして実行する際、[Logcat] ウィンドウで adb の出力とデバイスのログメッセージを参照できます。
パフォーマンス プロファイリング
アプリの CPU、メモリ、ネットワーク パフォーマンスをプロファイリングするには、[View] > [Tool Windows] > [Profiler] をクリックして Android Profiler を開きます。
デベロッパー アカウントへのログイン
Android Studio でデベロッパー アカウントにログインすると、Cloud Tools for Android Studio やアプリ アクション テストツールなど、認証を必要とする追加のツールを利用できます。ログインすることにより、Google サービス全体にわたって自分のデータを表示し管理する権限を、これらのツールに与えることになります。
Android Studio でプロジェクトを開いたら、次のようにして、デベロッパー アカウントへのログインや、デベロッパー アカウントの切り替えを行えます。
図 8 に示すツールバーの右端にあるプロフィール アイコン
をクリックします。
図 8. ツールバーの右端にあるプロフィール アイコンをクリックしてログインする
表示されたウィンドウで、次のいずれかの操作を行います。
- まだログインしていない場合は、[Sign In] をクリックして、Android Studio からリストされたサービスにアクセスできるようにします。
- すでにログインしている場合は、[Add Account] をクリックして別の Google アカウントにログインします。または、[Sign Out] をクリックしてから再び前のステップを行うことで、別のアカウントにログインすることもできます。