Android Studio環境構築・Windows

# はじめに

この記事では、Android Studioの環境構築を手順を追って解説します。細かい手順やスクリーンショットは、Windowsで進めるので、ご了承ください。

### 対象

次のいずれかに当てはまる人を想定して書きました：

- PCの操作もおぼつかないけど、スマホアプリを作りたいんだ！
- Android専用アプリを作るぜ！（IOS向けは今はいらないぜ！）
- Android Studioって評判良いから使いたいぜ！Googleのサポートも手厚いしね！
- 俺は絶対Kotlin + Jetpack ComposeでAndroid開発をする！これは決定事項だ！

# Android Studioをインストールする

以下のページにアクセスすると、Android Studioのダウンロードページになっているはずです。

https://developer.android.com/studio

結構デカく「Android Studioをダウンロードする」みたいなボタンがあるはずなので、これを押します。（スクリーンショットを置きたいのですが、どうもこのページはしょっちゅう更新しているっぽいので字で説明します。本記事では以降も似たような理由でスクリーンショットを置いてないところがあるのでご了承ください）

利用規約が出てきたら同意して、最終的にファイルをダウンロードできるはずです。これはセットアップウィザードの実行ファイルです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/9e52c907-4c4d-f736-9bbf-2dfd83063e97.png)

通常Windowsの「ダウンロード」フォルダにあるはずなので、ダブルクリックして実行します。

すると、次のようなウィンドウが表示されるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/0929a388-e662-15a5-1ae4-b76ae5720be2.png)

よく見るセットアップウィザードですね。Next連打でOKです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/27761032-22ba-b6a1-db20-bb6de2e9dcb4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/71ff92dc-e14c-f5e1-cdf3-f42c159b0af2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/656e7eaa-e9d7-8400-1afd-3adb660f8180.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/ede4a5ad-eea4-777b-a792-bef325f4e722.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/ede10fcb-b96a-9e8c-c920-6f475af11c92.png)

そのままFinishを押すと、Android Studioが起動するのですが、初めてインストールする場合には初期設定画面が出てくるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5ea1e8c9-de32-4735-0f5c-3d01bbd396bd.png)

この画面はGoogleに自動レポート機能を通じてAndroid Studio本体のエラーなどの情報を送信してもいいかって聞いていています。プライバシーの問題なので、適せん選択をしてください。

次に、初期設定です。これらは、Next連打で問題ないです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/d5c4fe48-c7ca-eccd-cd86-a31b96e233c6.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/4458835e-ebfd-36e2-7164-b6b2a205ee17.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/509a7cc3-7ad7-5dcb-9f87-bc1f8ce44948.png)

License Agreementの画面は、操作がちょっとわかりにくいですが、ライセンスに同意する画面ですので、読んでから次に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/a0ad5aa4-35b9-0886-1734-9daaf3c1ac70.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5c7c4931-9320-d4f2-8c6b-5e296084ec04.png)

すると、ダウンロードが始まります。完了したら、Finishを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/382cb870-c6e3-c96a-e935-73d11463e53c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/afdcd34d-00d3-996c-8896-49e1e20e2a01.png)

このタイミングで、`HAXM installation failed.`というエラーが出てくることがあります。どうも、エラーが出てきても普通に動くことがあるっぽいので進めてしまってかまわないようです。以下の記事を参考にしてください。

https://qiita.com/rice_rice_rice/items/c00f1338b173a149fb28

最終的に、以下のような画面が出てくるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/608b8650-87b6-dd20-dec8-c000cc86d81d.png)

この画面が出ていれば、Android Studioのインストールは成功です！🎉🎉🎉

# プロジェクトを作成する

この記事では、ソースコードを触ってアプリに反映されていることを確認するまで解説するので、まずはプロジェクトを作成する方法を見ていきます。

少し複雑になるので、ここからは操作方法と解説を別の項目に分けます。

## 操作

New Projectボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/03c34e1c-ce75-1ed0-bf5b-93a103d1b2a5.png)

次の画面で、こんな感じのテンプレート選択画面が出てくるので、そのうちの「Empty Activity」を選びます。

<table>
    <tr>
      <th>テンプレート選択画面</th>
      <th>「Empty Activity」のアイコン</th>
    </tr>
    <tr>
      <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5c04b193-51ea-943e-13eb-c3e6b75285bb.png" alt="テンプレート選択画面"></td>
      <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/13693590-bbdc-a304-58a5-1ec74e77a96b.png" alt="Empty Activityのアイコン"></td>
    </tr>
  </tfoot>
</table>

:::note warn
「Empty Activity」が無い場合：
先に言ってしまうと、ここで「Jetpack Composeのサンプルデータが含まれるテンプレート」を選択したいのですが、そのことをこの画面では確認できません。「Empty Activity」がない場合は、[この記事](https://developer.android.com/codelabs/jetpack-compose-basics?hl=ja#1)が更新されているはずなのでこの通りにしてください。（なにか変更があるようでしたら、コメントなどで指摘してくださいると助かります）
:::

次の画面は、プロジェクトの設定画面です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/eb7970c2-88e5-f2b7-a03a-f36bad6648ae.png)

何も設定しなくてもプロジェクトを作成できるので、Finishボタンを押します。

すると、少し時間がかかりますが、すごく情報量の多い画面が出てくると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/ca730948-7838-0926-7da5-2db6d1f61bb4.png)

**これがAndroid StudioのIDEとしての画面です！**

この画面を駆使してコーディングすることになります。

以下のような、`@Composable`と書いてあるようなコードが、中央下ら辺（スクロールする必要があるかもしれません）に表示されていれば、プロジェクトの作成は成功しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/fb95d28d-05b3-6d7a-e4ed-d0a1d208b030.png)

この画面、ボタンがいっぱいあって何がなんだかわからないですよね。こればっかりは慣れていくしかないので、いっぱい触ってください。よくわからないものはとりあえずクリックして、どうなるか見るのです。大丈夫です、取り返しのつかない操作をしても、「プロジェクトを作成する」手順をやり直せば元通りになります。

最初の画面に戻る方法があります。

まず、画面上のどこかにある「File」を探します。ハンバーガーメニューで隠れているかもしれません。それをクリックすると、以下のようなプルダウンが出てくるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/0f1c4f90-9e75-e4de-cd82-2f91fcf90841.png)

そのうちの、「Close Project」を押すと、最初の画面に戻ります。「New」->「New Project」を押すと、新しいプロジェクトを作成する画面になりますので、こっちでもいいです。

プロジェクトの作成手順は以上です。次はAndroid仮想デバイスの起動です！
さっさと次に行きたい方は「解説」は飛ばしてもらってかまいません。

## 「プロジェクトを作成する」解説

### テンプレートの選択

実は今回紹介するのはAndroid開発の中でも、**Jetpack Compose**を利用する方法です。

まず、Androidアプリを開発するときは、**Kotlin**を利用するのが安牌です。これは間違いありません。Android Studioでも、Kotlinで開発するのに便利なように、いろいろ機能が備わっています。
なお、Android StudioはIDE、Kotlinはプログラミング言語です。ここは重要なのでわからない人は調べてください。

そして、Kotlinで開発するとなると、大体二つの方法があります。
１つ目は、XMLのレイアウトファイルを使う方法、二つ目は、Jetpack Composeというフレームワークを利用する方法。
ひとことで言うと、XMLを使う方法は従来の方法、Jetpack ComposeはGoogle様が考えた新しくておすすめの方法です。
XMLを使う方法は、IOSアプリ開発のXIBファイルを使う方法や、Microsoft XAMLと似ています（らしいです）。
一方でJetpack Composeは、Kotlinにおいて**宣言型コンポーネントUI開発**を可能にすることを主眼に置いています。これはSwiftUIやFlutter、Reactなどで採用されていて、これらに似た開発ができます。

おすすめはJetpack Composeです。理由としては

- 宣言型コンポーネントUI開発が今の主流で、先ほど挙げたようなライブラリ・フレームワークでもやり方を流用できる。
- すべての提供元であるGoogleがゴリ推ししているので、ドキュメントが豊富でサポートも手厚い。

という感じです。

話を戻すと、テンプレート選択画面ですが、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5c04b193-51ea-943e-13eb-c3e6b75285bb.png)

実は、「Empty Activity」以外はJetpack Composeのテンプレートではないという問題があって、そんなのわかるかーっていう話です。

あと、開発の途中でつまずいて、Google検索などで調べることがあると思いますが、このとき、XMLでやる方法とJetpack Composeでやる方法がばらばらに出てきたりします。なのでそこも理解して困っちゃうということを言いたかったです。

### 設定

新規プロジェクト設定画面を見ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/eb7970c2-88e5-f2b7-a03a-f36bad6648ae.png)

一つ一つ見ます。

- Nameは、Android Studio内で表示されるプロジェクト名を設定します。自由な文字列を設定できます。
- Package nameは、Java名前空間やGoogle Play Store向けパッケージ名を同時に設定する項目です。一意でないといけないなどのルールがあるので、**公開・配信する場合**は必ず詳細を調査しあらかじめ設定する必要があります。**後で変更するのは結構難しいので注意してください**。テスト用プロジェクトにするなら適当でいいですね。
- Save locationは、あなたのPC内でのプロジェクトの場所です。
- Languageは使用する言語です。
- Minimum SDKは、AndroidのAPIレベルについて、作成するアプリが要求する最低要件を設定します。（SDKって書いてありますが、俗にいう「APIレベル」です）
- Buid Configuration languageは、私もよくわからないのですが、[Recommended]はおすすめという意味なのでそれでいいと思います。

本来はもっとたくさんの設定項目がある中で、特に最初に設定しないといけない項目が厳選されているわけですが、実際には設定をする優先度には差があります。まとめるとこんな感じです。

| 項目 | 後で変更 | 影響度 | 補足 |
|:-:|:-:|:-:|:-:|
| Name  | 難  | ほぼ無し  |   |
| Package name  | 難  | 大きい  | 公開・配信するときは影響がある  |
| Save location  | 簡単  | 小さい  |   |
| Language  | 難  | 大きい  | Kotlin一択  |
| Minimum SDK  | 場合による  | 大きい  | 慎重に選びましょう  |
| Buid Configuration  | 難  | 不明  | [Recommended]で良いと思われ  |

#### Minimum SDK

この項目が十分にわかるようになるには、Androidの**APIレベル**を理解する必要があります。これはちょっと複雑なので各自調べてほしいです。

が、全然わからないという方は大変だと思うので、以下の感じがおすすめです。

まずそもそも、Android StudioではAndroidのエミュレータをサポートしていて、実機を持っていなくても、PC上で実機さながらにテストを行うことができます。

**実機にインストールする気がない（エミュレータだけで実行する）プロジェクトは、最新のバージョンに設定すると基本的に問題ありません**。なぜなら、エミュレータではOSのバージョンを簡単に変更できるからです。もしかすると、最新バージョンのシステムイメージ（後の項で説明します）が存在しないかもしれないので、その場合はシステムイメージの方に合わせるといいでしょう。

実機でテストしたり、アプリを配信したりするには、最低APIレベルは重要です。すでにあるプロジェクトについて、最低APIレベルを小さいほうから大きいほうへ上げることは可能なことが多いので、心配なら低めに設定するのがおすすめです。ただし、この方法だと開発途中でエラーが出てきて、その時に設定を変更するという形になるので、よくわからずに進めるとドツボにはまる可能性があるので注意してください。実機でテストしたり、アプリを配信したりする場合は、APIレベルやSDKバージョンについてしっかり理解するのが望ましいでしょう。

# アプリを実行してみる

今からやることは、

1. 「１台のスマホを再現した仮想のデバイス」（これを、AVDといいます）をPC上に起動する。
1. その仮想デバイスにあなたのアプリをインストールして実行する。

です。

## 操作

IDE画面の右の端のほうにある、以下のようなアイコンを探します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/e58ca53d-6fc8-43f0-155e-cb629ebc4243.png)

これをクリックすると、大きな黒い部分が出てくると思います。これは**デバイスマネージャー**です。

もう一度クリックすると消えます。アイコンは、デバイスマネージャーを出したり消したりするボタンです。

次に、下のスクリーンショットで示した「＋」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/a733779e-d50c-6d55-c436-d10950395354.png)

すると、以下のようなポップアップが出てくると思いますので、Nextをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/b838c1c0-3da5-636b-48e8-af6b34792f28.png)

以下の画面で、System imageがダウンロードされていないようでしたら、ダウロードボタンをクリックしてください。

<table>
    <tr>
      <th>System Image画面</th>
      <th>ダウンロードボタン</th>
    </tr>
    <tr>
      <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/c9f2f86c-5672-5054-353d-217df2854dae.png" alt="System Image画面"></td>
      <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/6594498b-f7ee-2010-b7da-e45219f7ef97.png" alt="ダウンロードボタン"></td>
    </tr>
  </tfoot>
</table>

Finishをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/4a42d356-8456-d990-0d36-1dede4303a8c.png)

ポップアップが消えると、デバイスマネージャーに以下のように表示が追加されていれば成功です。（この表示は、AVDが追加されていることを表します）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/a1e32d2c-57e1-9649-ceae-b245b571f954.png)

「▶」ボタンを押してください。

ここで少し時間がかかりますが、以下のように自動で画面が切り替わるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/8f4dd72b-4dd6-4f68-d374-96ac7cce4e06.png)

右側のアイコンに注目すると、勝手に選択が変わっていることが分かります。この画面は、**実行中デバイスの画面**です。

画面の中のAndroidの起動処理が完了すると、以下のようにホーム画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/775b3254-9eaa-585f-b7a8-8820dba63a95.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/2a847bc0-5274-f516-c84b-59d4ad28980c.png)

これでAVDの起動は完了です！🎉🎉🎉

この画面、クリックをタップとして受け付けるので、操作することができます。すごいですよね。エミュレータなので当たり前ですが、私はAndroid Studioで初めて触ったので感動しました。

続けて、アプリの実行もしたいと思います。

画面の、上部の真ん中らへんに、以下のような部分を見つけます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/55f74e1c-10b7-81d9-c918-bf6fdca4e8d4.png)

これの「▶」ボタンをクリックします。（デフォルトでは「Run 'app'」というツールチップが出ます）

また時間がかかりますが、しばらくすると、以下のようにAVDの画面が変化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/685a037a-6cfb-9677-2990-a38cc9fc7551.png)

これは、あなたのアプリの最初の画面が表示されています。

「Hello Android!」とだけ表示されるはずです。

画面中央のコード部分を見ると、`"Hello"`となっている部分と、`"Android"`となっている部分があると思います。試しに、そのどちらかを変更して、好きな文字列を入れてみてください。
変更出来たら、再度アプリの実行をするために、「Run 'app'」ボタンをクリックします。ボタンの見た目が変化していて、「🔃」みたいになっているはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5740ff14-9a13-cacf-72e7-0bd92944a5d9.png)

以下の例では、`"Android"`を`"World"`に変更して、再度アプリを実行した例です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/154fa842-06a3-e535-fba6-49b1cbf0a5ab.png)

変更が確認できました！

ここからはあなたのプログラミング次第でアプリを作成することができます。

### 次のステップ

この記事での操作は以上となるので、ここからはガンガン開発していきましょう！

一つだけアドバイスをするとしたら…
ライブラリを導入するために、buid.gradle.ktsのdependenciesなどを変更するときは、Android Studioに備わっている**GUI機能を利用する**のがおすすめです。通常ライブラリのドキュメントなどにはスクリプトファイルを直接変更する方法が書いてありますが、よくわからないままAndroid Studioを使っているときは、GUI機能がすごく便利なことが多いです。
何言ってるかわかんなくても、強くお勧めするので覚えておいてください！

この記事を終えた次のステップとしては、以下の記事がおすすめです。Jetpack Composeがどんな感じなのかコードをいじりながらわかります。公式のチュートリアルです。

https://developer.android.com/codelabs/jetpack-compose-basics?hl=ja

## 「アプリを実行してみる」解説

### AVD

Android Studioは、AndroidデバイスをPC上で再現するエミュレータをサポートしていて、簡単な操作でエミュレータを操作できるようになっています。なので、Android Studio上のボタンをクリックするとエミュレータを指示して仮想デバイスを起動し、さらにそれと連携するというようなこともできます。

- 仮想デバイス…PC上で再現された１台のデバイス。Android Studioでは**AVD(Adnroid Virtual Device)と呼び**、Androidスマートフォン全体を再現する。
- エミュレータ…仮想デバイスを実現するソフトウェア。PCにインストールする。Android Studioでは、必須のコンポーネントとして**勝手にインストールされる**。

（Android端末以外でもエミュレータと呼びます。IOSのエミュレータ、コンシューマゲーム機のエミュレータなどがあります）

さらに、AVDにはカメラや他のセンサー、外部ストレージなどがきちんと定義されていて、テストをするために設定を変更することもできます。

![PC上に存在するAVDのイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/83b2890b-f1e4-26d3-11fb-2e80bb92dbc4.png)


先ほどの「操作できるスマホの画面」は、AVDの画面だということですね。

### デバイスマネージャー

また、AVDは、複数作成して管理することもできます。そのための操作を行うのが、デバイスマネージャの画面です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/a1e32d2c-57e1-9649-ceae-b245b571f954.png)

この画面では複数のAVDがリスト表示されています（上のスクリーンショットでは一つだけAVDが表示されています）。
なので、このリストの項目一つが、**一台の仮想Androidスマホ**を意味します。

ここで、▶ボタン（「Start」ボタン）をクリックすることで、該当AVDを**起動状態**にすることができます。起動状態の場合、同じ位置にある□ボタン（「Stop」ボタン）をクリックすることで、AVDを停止できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/5534b34e-5c34-9070-bb14-abf27c186a9c.png)

起動状態とは、インスタンスがPCのメモリ上に展開され、**まさにエミュレートを行っている状態**です。

タスクマネージャーで確認すると、複数のタスクが大量にメモリを食っていることが分かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/a0e3a58e-e945-d239-9f1b-6dac478f8846.png)

この、「Android Studio」、「OpenJDK PLatform binary」、「qemu-system-x86-63.exe」はすべてAndroid Studio及びエミュレータのタスクです（多分「qemu-system-x86-63.exe」は環境によって無かったりします）。

4.5GBくらい使ってますね…。Android Studioは処理が重いので、PCのスペックが不足するということがあり得ます。頑張って強いPCを用意してください。（実は処理が重いことがAndroid Studioの最大のマイナス点だったりします）

AVDは停止させることができます。AVDの状態を保存して、PCのディスク上に保存することで、一回Android Studioを消しても同じデバイスを再現できるという機能です。

ここで注意してほしいのが、どうやらAVDは電源On/Offも再現しているということ。なので、**AVDが起動していても、仮想デバイスの電源が切れている状態があります**。
通常は、AVDを停止する操作を行うと、仮想デバイスの電源が停止した状態で保存され、AVDの起動と同時に自動的に電源が入るようになっているようです。

### System Image

以下の「System Image」というものについてですが、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/c9f2f86c-5672-5054-353d-217df2854dae.png)

これは大雑把に言うとAndroidバージョンを選択しています。
先にバージョンごとの「初期状態」をダウンロードして、AVDを新規作成するときにこれらをもとにして作成するという感じです。１個１個はサイズが大きいですが、一回ダウンロードすれば何回でもAVDの作成に使えます。

### アプリの実行

IDEの画面では、以下のようなメニューが画面上部に常に表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553028/55f74e1c-10b7-81d9-c918-bf6fdca4e8d4.png)

ここではアプリをビルド・インストール・実行まで自動で行う機能が利用できます。

どういうことかというと、

1. ビルド…アプリとして取り扱うことができる単一のデータに変換する処理。コンパイルをはじめとした、複数のプロセスの集合。（Kotlinなのでコンパイルが必要）
1. インストール…アプリをスマホに導入すること。Android Studioでは、実機に対しても、AVDに対してもインストールできる。
1. 実行…いちいちアプリアイコンを探すのはめんどくさいので、アプリの起動を自動化する。さらに、必要なテストだけを自動実行する機能もある。

いろいろ機能がありますが、特に設定しなければ「▶」をワンクリックでAVDにビルド・インストール・通常の実行を行うので、最初のうちはこれで問題ありません。

ちなみに、AVDが起動していない状態でこのボタンを押すと、自動でAVDが起動するのですが、私の環境ではこのプロセスがうまくいかないことが多かったので、毎回AVDの起動が完了してからボタンを押してました。

そのほか、注意したいところを以下に列挙します。

- AVDにアプリの変更（ソースコードの変更など）を反映させるには、都度ビルドとインストールを行う必要がある。
- コンパイルエラーは、ビルドのタイミングで起こる一方で、実行時エラーはAVD内で起こる。
- Android Studioのデフォルトでは、AVDのうち一つだけにインストールする。（よく見るとデバイス選択設定がある）
- あなたのアプリがAVD上で出した標準出力やエラーを見るためには、AVDからAndroid Studioに出力を送ってもらう必要がある。そのための専用の仕組みが「LogCat」。
- 同じAVDを使うと、AVD上のメモリやディスクにデータが残っているので、新規作成したAVDを使用することでこれらの影響を回避できる。逆に、あえて同じAVDを使えば、前のテストで使ったデータベースを使いまわすというようなことなどもできる。

---

追記：エミュレータが起動する途中で異常終了する問題を解決したときの、ChatGPTから聞き出して実際にうまくいったときのリストが以下。

- BIOSでIntel VT-xまたはAMD-Vが有効か確認
- HAXMやHypervisor Driverがインストールされているか確認
- GPUドライバを更新
- エミュレータツールを最新にアップデート
- 新しいAVDを作成して確認

---

最後までお読みいただきありがとうございました。

イラスト：

- https://icon-pit.com