【flutter/mac】AndroidStudioをインストールせずにmacにflutterの環境を構築する

今回macのVS CodeでFlutterプロジェクトを開発できるようにします。

基本はFlutter公式に沿ってセットアップします。

M1系のチップの場合はRosetta 翻訳環境で使用できるらしい。

せっかくVSCodeを使用するのに結局AndroidStuidoをインストールするような記事を見かけるがjavaのSDKだけのためにAndroidStudioをインストールするのは容量も大きいのでいやなのでAndroidStudioをインストールしないで構築してみます。

エミュレーターの起動などはこちらを参考にしてみて下さい。

開発環境準備

flutterのSDKをダウンロードして解凍して自身で考えた場所に解凍しましょう。

今回は解凍した「flutter」を

/Users/im0039kp/development_sdk/flutter

に配置して構築していきます。

ターミナルで使えるように.zshrc(自分はzshを使っていますがbashの人は.bashrc)にPATHを記載します。とりあえず一番上に記載

export PATH="$PATH:/Users/im0039kp/development_sdk/flutter/bin"

変更を反映(ターミナル再起動でも可)

source .zshrc

正しくPATHが通っているか確認するためにコマンドを打って

flutter

こんな感じのものが出たら問題ない

flutterの環境を確認

flutter doctor

を実行して足りないものを対応していく

各々の環境で不足が違うので今回は自分が不足しているものだけ記載

Android SDKを利用するためにcommandlinetoolsをインストール

Android Developer公式にCommand line tools onlyとコマンドツールだけインストールできるのでダウンロード

解凍した「cmdline-tools」をflutterのSKDを配置したフォルダにAndroidフォルダを作って配置する。

コマンドラインツールの説明では

パスはこんな感じ

android_sdk/cmdline-tools/version/bin/

ダウンロードして解凍したものをフォルダーの構成が違うので変更する

「version」そのままフォルダ名にするわけではなく「latest」など最新などのフォルダーにする

サイトからダウンロードしたら最新なので今回は

/Users/im0039kp/development_sdk/Android/Sdk/cmdline-tools/latest/

「latest」の直下に「cmdline-tools」にあったものを全て移動するこれは今後cmdline-toolsをアップデートする場合に「latest」中身を更新する必要がある

配置したらflutterSDKと同じようにPATHを通す

/Users/im0039kp/development_sdk/flutter/bin
/Users/im0039kp/development_sdk/Android/Sdk/cmdline-tools/latest/bin
export PATH="$PATH:/Users/im0039kp/development_sdk/Android/Sdk/cmdline-tools/latest/bin"
source .zshrc

PATHを通したことで

apkanalyzer
lint
retrace
sdkmanager
avdmanager
profgen
screenshot2

コマンドが使えるようになる

sdkmanagerでインストールされるsdkのPATHを指定する

cmdline-toolsの環境変数説明ではANDROID_HOMEなどのPATHも事前に設定しておくといいらしい

「sdk」フォルダーだけ作成しておいて.zshrcに

export ANDROID_HOME="/Users/im0039kp/development_sdk/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
export PATH="$PATH:$ANDROID_HOME/tools"
source .zshrc

と追記する。一連で追加したPATHは下記

export PATH="$PATH:/Users/im0039kp/development_sdk/Android/cmdline-tools/latest/bin"
export PATH="$PATH:/Users/im0039kp/development_sdk/flutter/bin"

export ANDROID_HOME="/Users/im0039kp/development_sdk/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
export PATH="$PATH:$ANDROID_HOME/tools"

公式の説明文に色々PATHを通さないといけないらしいが現在は色々環境が変わったので必要ないみたい。

sdkmanagerを使用してAndroid sdkをインストール

使い方は公式を参考にインストールしてみます。

まずは使えるか確認

sdkmanager
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

javaがないと言われました。

java --version
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

ないのでjava公式からインストール現在のLTS版であるJDK 17 LTSをインストールしようと思います。今回はDMGでインストールする

インストーラーに従ってインストールしてターミナルを再起動

java --version
java 17.0.7 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.7+8-LTS-224)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.7+8-LTS-224, mixed mode, sharing

いけたので

sdkmanager    
Usage:
  sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]
  sdkmanager --list_installed [<common args>]
  sdkmanager --licenses [<common args>]
  sdkmanager --version

With --install (optional), installs or updates packages.
    By default, the listed packages are installed or (if already installed)
    updated to the latest version.
With --uninstall, uninstall the listed packages.

    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
    <package-file> is a text file where each

使えるようになったんでsdkをインストールする。

2023/06時点ではandroid13(API 33)を使うみたいだがとりあえず指定せずにインストールしてみる

まずはどのようなインストールするためのパッケージ指定を確認する

sdkmanager --list | grep android-33

少しテクニカルなことをしているが「sdkmanager –list」で現在インストールできるパッケージを出力して「| grep android-33」が続けて「android-33」が含まれているものだけピックアップして出力するという意味

platforms;android-33

があるのでこちらをインストールしてみる

sdkmanager "platforms;android-33"

利用規約みたいなものが聞かれる

14.7 The License Agreement, and your relationship with Google under the License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.


January 16, 2019
---------------------------------------
Accept? (y/N): y

他にも必要なものをインストールする

sdkmanager "tools"

これで大体の必要なものは入るライセンス聞かれたら「y」で進める。

あとに必要なものを個別で入れていく記事のようなパッケージがなければ「sdkmanager –list | grep ”検索したいラベル”」で現在あるものを入れていく

sdkmanager "build-tools;33.0.2"

今回Androidの環境をカスタムを入れたのでflutterには個別でパスを設定する必要がある

flutter config --android-sdk "/Users/im0039kp/development_sdk/Android/Sdk"

再度確認してみる

flutter doctor

少しエラーの内容が変わったflutter側でアンドロイドのライセンスを解決する必要があるみたい。

flutter doctor --android-licenses 
[=======================================] 100% Computing updates...             
6 of 7 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? 

色々聞かれるが「y」もう一度確認する

AndroidSDKは問題なく設定できたみたいなのでよかった。

XcodeのCocoaPodsの対応

https://guides.cocoapods.org/using/getting-started.html#installatio

このサイトを見てインストールするみたいなので見たら「gem」を使うみたいだがよくわからないのと

sudo gem install cocoapods

こっちは「Homebrew」を使っているので調べたらHomebrewでcocoapods使えるみたいなのでこちらを実行する

brew install cocoapods

結構長いがインストールが終わったら確認

Android Studioは使わずVS Codeを使うのでこれで完了

おわり

使わないAndroidStudioをインストールをするのが嫌だったのでやってみたが無事に環境を構築できた。

今後VS Codeで開発していければいい。

コメント