Flutterの環境構築 ~ flutter doctor all green まで ~
モバイルアプリを作れるようになりたい!
ということでFlutterの環境構築に挑戦してみました。
前提
- macOS Big Sur 11.4
Flutterのインストール
日本語のドキュメントがあるので素直に従ってインストールできました👍
私は zsh を使っているので .zshrc に以下記述してパスを通しました。
# Flutterディレクトリ配下にインストールしたため下記のとおり export PATH="$PATH:/Users/myname/Flutter/flutter/bin"
Flutter実行環境の確認
flutter doctor
コマンドで不足しているFlutterの実行環境を調べてくれます。
% flutter dctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale ja-JP) [✗] Android toolchain - develop for Android devices ✗ Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, please use `flutter config --android-sdk` to update to that location. [✗] Xcode - develop for iOS and macOS ✗ Xcode installation is incomplete; a full installation is necessary for iOS development. Download at: https://developer.apple.com/xcode/download/ Or install Xcode via the App Store. Once installed, run: sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer sudo xcodebuild -runFirstLaunch ✗ CocoaPods not installed. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions. [✓] Chrome - develop for the web [!] Android Studio (not installed [https://developer.android.com/studio?hl=ja:embed:cite] ) [✓] VS Code (version 1.58.2) [✓] Connected device (1 available) ! Doctor found issues in 3 categories.
不足しているのは2つですね。
Android Studioのインストール
- Android Studio をダウンロード
- Android Studio を起動してセットアップウィザードを実行
簡単にできそうだね♪
ここでもう再度 flutter doctor
を実行します。
▼ エラー部分抜粋
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0) ✗ 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.
素直に flutter doctor --android-licenses
を実行します。
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 5 more
うわぁ〜〜〜...これ苦戦しそうな予感(´・ω・`)
ググるしかない!
ドンピシャの記事を発見🔎 zenn.dev
もういっちょflutter doctor --android-licenses
を実行!
% flutter doctor --android-licenses Android sdkmanager tool not found (/Users/myname/Library/Android/sdk/tools/bin/sdkmanager). Try re-installing or updating your Android SDK, visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions.
なんでーーーーーーーー!!!!!!😱😱😱😱😱
対処したこと
ググりにググってとりあえず対処できました。
シンボリックリンクを作成
下記の記事のとおりです。 stackoverflow.com
cd /Applications/Android\ Studio.app/Contents/jre ln -s ../jre jdk ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk
再び flutter doctor --android-licenses
を実行すると下記のように質問されるので全部 y
です。
しんどかった。。
Xcode の対応
Xcode については sudo gem install cocoapods
を実行すればクリアです。
できましたーーー٩(๑´3`๑)۶