近期因專案需求,要於手邊的 Mac M1 晶片電腦上安裝 Flutter 開發環境。由於步驟實在是過於繁瑣且坑洞不少,這邊筆記一下細節。
Flutter
- 從 https://github.com/flutter/flutter 的 Repo 中取得 stable 的分支
- 先切換到特定的版本,如 2.2.3 版
- 在終端機中的設定檔中新增 $PATH
- 新開一個終端機視窗,或用 source <設定檔位置> 讓當前終端機設定重設
-
JAVA
- 在終端機設定中新增 JAVA_HOME 路徑
- 用 homebrew 安裝 sdk-man
- 為避免 flutter doctor –android-licenses 時出現以下錯誤 Exception in thread “main” java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema,所以用sdk-man 安裝 JAVA 8 的版本,像是以下版本: sdk list java 8.0.345-zulu
- 新開一個終端機視窗,或用 source <設定檔位置> 讓當前終端機設定重設
- 為避免出現「Unable to find bundled Java version」,請執行以下指令
1 2 3 4 |
cd /Applications/Android\\ Studio.app/Contents/jre ln -s ../jre jdk ln -s "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin" jdk |
Android Studio
- 下載最新版本的 Android Studio:https://developer.android.com/studio
- 在 Settings 中
- Plugins 安裝 Dart & Flutter
- Apperance & Behavior > System Settings > Android SDK 中
- SDK Tools 將 Hide Obsolete Packages 取消勾選
- 將 Android SDK Tools ( Obsolete ) 勾選並按下 OK,以避免出現 Android sdkmananger tool not found
- 在終端機中執行
flutter doctor --android-licenses
來簽署 Android 授權
XCode
- 用 homebrew 安裝 xcodes – xcode-install 的繼承者
- 安裝最新版本的 XCode
- 若沒有安裝 Xcode command line tool,可下
xcode-select --install
來觸發安裝 - 打開 XCode,確定在設定中的 Locations 有指定 Command Line Tools
- 安裝 CocoaPods。為了避免 OS 內建的 Ruby 和 Cocoapods 的版本不合,建議使用以下的指令安裝
1 2 |
brew install chruby ruby-install brew install cocoapods |
程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 終端機中的設定檔中新增 $PATH export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin" // 終端機設定中新增 JAVA_HOME 路徑 export JAVA_HOME=$(/usr/libexec/java_home) // sdk-man 安裝 JAVA 8 的版本 sdk list java 8.0.345-zulu // 簽署 Android 授權 flutter doctor --android-licenses // 觸發安裝 xcode command line tool xcode-select --install |
參考資料
1. Flutter Repo
2. Flutter – Update your path
3. How to Set $JAVA_HOME environment variable on macOS
4. SDKMAN! Homebrew Tap
5. Failed to install android-sdk: “java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”
6. Unable to find bundled Java version on Flutter
7. Android SDK Tools(Obsolete)
8. The best command-line tool to install and switch between multiple versions of Xcode.
9. issue with cocoapods installation