引言
源于墨墨背单词的单词上限,想自己独立全栈开发一个全端的背单词APP,初步的功能和技术选型如下。本篇博客主要记录搭建macOS下Flutter开发环境中出现的问题。
找了很多项目,后端有SpringBoot(主要)、基于Laravel的Lumen、Go,前端Vue居多,有几个Flutter的。Vue部分的有的是界面不好美化,有的是后端没得数据库文件。后来看到一个月内的项目,作者在掘金更新着开发过程,抱着试一试的态度,开始搭建Flutter开发环境。考虑到Windows下无法测试iOS版,故在macOS10.15.7下进行测试。
环境搭建
替换回EFI,愉快地进入macOS,先下载 Flutter SDK,然后按步骤装好Xcode(cocoapods),Android Studio,Idea,VSCode,Android SDK,Chrome
导入并运行
安装adb
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" # 安装homebrew
brew install Caskroom/cask/android-platform-tools # 安装adb工具包
导入
用AS演示,版本有点老(192.x),flutter插件找了半天
问题
版本对应问题
macOS10.15.7推荐Xcode 12.4、 Android Studio 4.0.x、Flutter2.10.x(可开发Windows和Web应用,但无法用Flutter3),Idea 2021.2,VSCode1.70.x,最新Chrome
sudo gem install cocoapods无法安装,出现exit code 1
ruby版本有问题,安装好 homebrew 后安装 rvm 切换到可用的ruby版本即可解决问题
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)" # 安装homebrew
ruby -v
curl -L get.rvm.io | bash -s stable # 下载ruby版本管理器rvm
source ~/.bashrc
source ~/.bash_profile
rvm -v
rvm list known
rvm install 2.6.3
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
rvm use 2.6.3 --default
sudo gem update --system
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
gem sources -l
sudo gem install -n /usr/local/bin cocoapods
为sublime添加shell链接便于编辑配置文件
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
To avoid unexpected runtime failures, or future build failures, try to migrate this app to the V2 embedding.
打开 android\app\AndroidManifest.xml 文件,在activity标签的下面增加如下代码:
<meta-data
android:name="flutterEmbedding"
android:value="2" />
再次运行 flutter pub get
根据特定项目在 pubspec.yaml
删除指定低版本依赖:
# audioplayer2: ^0.5.2
# shared_preferences: ^0.4.1
# sqflite: any
# path_provider: ^0.4.1
Idea/AS无法识别可运行的安卓设备
命令行进行如下配置即可
flutter config --android-sdk /path/to/android/sdk
flutter config --android-studio-dir /path/to/android/studio
另辟蹊径
黑苹果版本太低,很多东西受到限制。不过按理来说的话用macOS11+配合合适的Flutter SDK版本和IDE就能完美运行。
转战Windows,下好最新的SDK,VS2022(随便把之前一直等的.NET MAUI下了)等,配置好AS和Android SDK的路径,adb连上雷电模拟器,成功运行。
参考
Flutter 官方 MacOS 安装文档
Flutter的重要依赖CocoaPods安装心得
Android/Flutter错误合集【11.1更新惹】
555