【2023年9月】Android Studio × M1 Macで Flutter 開発環境構築

### 【はじめに】
**M1 Macbook** × **Android Studio** で **Flutter** 用の開発環境構築に躓いたので、備忘録として記載。

##
### 【注意】
もし、あなたが過去に Intel CPU 版 Macbook でAndroid Studio を使用していた場合は、
古い Android Studio と設定ファイルを削除してから M1 Macbook での開発環境構築を推奨します。
(設定ファイルが残っている場合、高確率で仮想デバイスの起動等に失敗します。)

通常の手順でアプリをアンインストールするだけでは設定ファイルの完全削除はできません。
詳細手順はこちらをご覧ください。

https://qiita.com/nagaoyuriko/items/f310b595ff16061e1186


##
### 【Android Studio ダウンロード】
https://developer.android.com/studio

上記サイトにアクセスして、"Download Android Studio Giraffe" ボタンを押す。
![スクリーンショット 2023-09-14 12.44.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3525158/7334dc02-5b15-ea87-b639-1178345e3c0e.png)

ポップアップウインドウを下までスクロールした後、チェックボックスにチェックを入れて利用規約に同意。
"Mac with Apple chip" と記載のボタンを押して、M1 用の Android Studio をダウンロード。
![スクリーンショット 2023-09-14 12.52.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3525158/37e76781-effe-7853-0373-46178290f106.png)

ダウンロードが完了したらファイルを起動し、アプリアイコンをアプリフォルダに Drag & Drop。
![スクリーンショット 2023-09-14 12.55.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3525158/e5830953-fdd8-95fa-c18b-f4c6fb61c2f3.png)

##
### 【Flutter SDK ダウンロード】

https://docs.flutter.dev/get-started/install/macos

上記サイトにアクセスする。System requirements に記載の最低要件を満たしていることを確認する
・ Mac OS version: 10.14 以上。
・ 空き容量: 2.8 GB 以上
・ git が install 済みであること。(Xcode を install していれば問題無し。)
※ M1 Macbook の場合は、下記のコマンドをターミナルで実行しておくこと

```terminal:ターミナル
sudo softwareupdate --install-rosetta --agree-to-license
```

↑ 公式サイトによると、Intel CPU 用に開発されたアプリを M1 Macbook で実行する為に必要。

https://support.apple.com/ja-jp/HT211861

上記コマンドの実行後、 "Install of Rosetta 2 finished successfully" とターミナルで表示されたら Rosetta のインストール完了。
続いて、M1 Macbook 用の Flutter SDK をダウンロード (Apple Silicon の zip ファイル)
![スクリーンショット 2023-09-15 3.57.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3525158/0e3f86a2-77e8-c37c-e1a7-e6d76a0bb063.png)

ダウンロードした zip ファイルを解凍したら、任意のフォルダに展開する
(特にこだわりなどなければ、/Users/UserName 内に展開で良いと思います。)

展開したら、展開先のフォルダ内の bin フォルダへのパスを通す。
例として、/Users/UserName フォルダに展開すると、コマンドはこんな感じになります。

```terminal:ターミナル
export PATH="$PATH:/Users/UserName/bin"
```

上記コマンド実行後、 "which flutter" を実行してパスがちゃんと通っていることを確認。
```terminal:実行例
Satoshi-MBP:~ satoshi$ which flutter
/Users/satoshi/.flutter/flutter/bin/flutter
```

パスが何かわからない方は要チェック

https://qiita.com/soarflat/items/09be6ab9cd91d366bf71

##
### 【その他必要なアプリ ・ SDK 等のインストール】

"flutter doctor" コマンドで必要なアプリ ・ SDK をチェック。
[✓] はインストール済み / [ ! ] は未インストール
"flutter doctor -v" を実行すると、詳細情報を確認できます。

```terminal:ターミナル
Satoshi-MBP:~ satoshi$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.3, on macOS 13.5.2 22G91 darwin-arm64, locale ja-JP)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Community Edition (version 2022.2.3)
[✓] VS Code (version 1.82.0)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.
```
IntelliJ IDEA, VS Code は Code Editor なので必須では無い。
残りは基本的に必須。(開発するOSが限定的な場合は必要ないものもあるが、詳細説明は割愛)

Android Toolchain、Xcode のインストールに手間取ると思います。
そろそろ力尽きそうなので、これらの詳細インストール方法は下記を参考にしてください。

https://zenn.dev/imasaka0909/articles/00ebfaf74f9cea

https://zenn.dev/imasaka0909/articles/cae09eb794340d

上記を全てクリアして、"flutter doctor" を全て [✓] に出来たらあと一歩。
下記を参照に、仮想デバイスの起動まで実行してください。

https://sp7pc.com/google/android/60164#toc3

##
### 【終わりに】
Flutter の環境構築は手順が多いですが、検索をかけると色々情報が転がっています。
随時調べながら環境構築してみてください。
不明点があればコメントしてね。