由于我的MBA已经很老了,不足以再像以前那样,IDE、插件什么的统统装上去,因此,这篇文章主要介绍用最少的资源在MAC端配置完整的Flutter开发环境。
JAVA:MAC自带java,无需配置,在Terminal中输入java -version
可查看java版本。
Flutter SDK:下载flutter sdk包,存放到/Users/xxxx/flutter中,其中xxxx是我的用户名,这个地址可自定或修改。
环境变量:如果第一次配置环境变量,使用touch .bash_profile
创建一个隐藏配置文件。否则使用open -e .bash_profile
命令。
可以直接在Terminal中打开bash_profile文件,也可以去Finder中用文本编辑器打开。打开后,在最后一行添加如下6行代码。
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Users/xxxx/flutter/bin:$PATH
export ANDROID_HOME="/Users/xxxx/Library/Android/sdk"
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
添加环境变量后保存,在Terminal中执行source $HOME/.bash_profile
,生效bash_profile。这一步操作是一次性的,执行flutter -version
会有对应显示,但重启Terminal后就失效了,提示not found
,原因貌似是因为MAC OS版本的问题,若想永久配置,去Finder中将.bash_profile文件复制并改名为./zprofile,终端执行source $HOME/.zprofile
。
Xcode
通过store安装,很简单
sudo xcodebuild -runFirstLaunch
这一步Xcode在安装时候会提示,所以不用刻意的执行。
VS Code
通过dmg安装,很简单
Android Studio
配置SDK用,不安装的话不好配置Android SDK。
file–>Other Settings–>Default Project Structure
SDK location:/Users/skyy/Library/Android/sdk
1: 手机连接好电脑,终端输入:system_profiler SPUSBDataType获取adnroid机的设备信息,复制Vendor ID
2: 终端输入:vim ~/.android/adb_usb.ini
3: 输入i,进入编辑模式,将Vendor ID黏贴进去,再按esc ,然后输入:wq保存
4: 关闭和重启adb:adb kill-server adb start-server
5: 查看手机设备: adb devices 如果输出的结果和下图一样,就证明真的成功了。
如果已添加设备的状态不是’device’,而是’unauthorized’未授权状态
1: 删除adbkey
cd ~/.android
ls
sudo rm adbkey
sudo rm adbkey.pub
2: 撤销USB调试授权,关闭手机开发者选项,关闭USB调试。
3: 关闭adb,或者重启电脑adb kill-server
4: 重新连接手机至电脑,打开手机开发者选项,开启USB调试。
5: 此时就会弹出是否允许usb调试的弹窗了。点击允许之后,再执行adb devices,此时被添加的设备就变成device状态了。
6: 完美解决,谢谢。
使用VSCode编译代码会更容易,不会出现什么莫名的错误
调试前执行flutter doctor
,根据提示执行代码,直到所有设置为绿色。(我配置时这一步花了有1小时,但Terminal会显示提示,根据提示执行命令即可,虽然麻烦但很简单,以至于都没留下搜索记录,我也不记得执行了哪些指令)
问题1
zsh: command not found: flutter
据官方说,从macOS Catalina开始,Mac将使用zsh作为默认登录Shell和交互式Shell。还可以在较低版本的macOS中将zsh设置为默认Shell。运行chsh -s /bin/zsh
之后,发现flutter的命令不能用了,这是因为切换了shell执行工具
单次解决办法: source $HOME/.bash_profile
,只对当前终端窗口有效,关闭无效
永久解决方法: 复制.bash_profile,改名为.zprofile,终端执行source $HOME/.zprofile
问题2
Waiting for another flutter command to release the startup lock
在引入一个第3方依赖后执行package get后长时间提示该语句。删除flutter SDK 下的/bin/cache/lockfile文件,并重启Android Studio
问题3
Running Gradle task ‘assembleDebug’…
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
Android Studio的版本和项目的classpath版本要一致
问题4
sdk install gradle 6.3
flutter clean
flutter run
准备
flutter -h
flutter doctor
新建
flutter create project_name
运行
执行flutter run
没啥问题,AS编译不通过,VS居然可以,而且轻量级很好用。
调试
flutter -p