mac系统 Flutter 配置篇

前言:作为一名iOS开发者,现在来学习一下flutter,话不多说,开始。
首先我们要去官网找SDK及文档 flutter中文网 flutter专门为国人建立的中文网站。

1. 下载SDK,下载完之后解压,我把解压后的目录放在了/Users/zhousong/Documents文件夹下
fluter文件目录
2. flutter的环境变量配置
  • /Users/zhousong下找到.bash_profile这个文件,有些电脑是隐藏了这些文件的,在终端中执行 defaults write com.apple.finder AppleShowAllFiles -bool true
    ,这样隐藏的文件就显示了。用文本编辑打开该文件,在文本中添加
    export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn export PATH=~/Documents/flutter/bin:$PATH,其中~/Documents/flutter/bin就是你当前flutter下的bin路径,保存退出。然后在终端输入source ~/.bash_profile,然后再输入flutter doctor检查flutter状态,结果:
    图是从别的文章上找的,大致报错都一样
  • 先从安卓来解决,首先要先安装javaJDk,因为我很早之前就装上了,建议不使用高于1.8版本jdk MAC安装JDK及环境变量配置。终端输入 java -version出现java version "1.8.0_211" Java(TM) SE Runtime Environment (build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)即安装成功。然后我们要安装AndroidSDK,因为没有下载Androidstudio,我是根据这篇文章安装sdk的,Mac下安装Android SDK。安装完成之后输入adb,如果出现
    安卓安装判断
    说明AndroidSDK安装成功。我把AndroidSDK的安装目录放在和flutter同一级目录下,安装成功目录如下:
    AndroidSDK目录

安装成功之后还要在flutter中配置,再次打开.bash_profile文件,添加如下信息
export ANDROID_HOME=/Users/zhousong/Documents/Android
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
其中注意/Users/zhousong/Documents/Android是安卓SDK的安装目录(一定不要弄错)。
继续执行flutter doctor,会出现


说明没有安装安卓证书,执行flutter doctor --android-licenses
image.png

再执行 /Users/zhousong/Documents/Android/tools/bin/sdkmanager --update,在执行前最要看一下目录下是否有sdkmanager文件。
执行结果:zhousongdeMacBook-Air:~ zhousong$ /Users/zhousong/Documents/Android/tools/bin/sdkmanager --update Warning: java.io.FileNotFoundException: http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml Warning: java.io.FileNotFoundException: http://mirrors.neusoft.edu.cn/android/repository/addon.xml Warning: java.io.FileNotFoundException: http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml Warning: java.io.FileNotFoundException: http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml ... January 16, 2019 Accept? (y/N): y done 最后会询问是否接受,输入y。
再次输入flutter doctor
image.png

警告还是有证书没有接受,然后重新执行flutter doctor --android-licenses,会有很多选择,一直输y就行。等到完成输入flutter doctor
image.png

  • 说明安卓的问题解决了,接下来是iOS(因为是iOS开发,很多东西都配置了,这里就不再多说了)
    首先我们要安装homebrew,执行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    出现
    image.png

之后回车输入电脑密码等待完成。输入brew -v

homebrew 安装完成

然后开始执行brew命令(当然也许不是这些命令,以命令提示为准)

brew update
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller

又要用到我们熟悉的命令flutter doctor,执行完

zhousongdeMacBook-Air:~ zhousong$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale
   zh-Hans-CN)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
[!] Android Studio (not installed)
[!] IntelliJ IDEA Ultimate Edition (version 2019.1.1)
   ✗ Flutter plugin not installed; this adds Flutter specific functionality.
   ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.
  • 是的,还有两个错误,flutterDart插件没有安装,flutter对三中IDE做了插件支持IntelliJ IDEA Android StudioVS Code,我安装了IDEA,所以使用它下载插件。preference->plugins,搜索flutter dart
    flutter

    Dart

    下载完重启IDEA,这样再检查一下,至此大功告成。
    成功
3.注意点:

1.当我们安装AndroidSDK时,可能会出现java.lang.NoClassDefFoundError:javax / xml / bind / annotation / XmlSchema或者java.lang.module.FindException: Module java.se.ee not found因为从java9开始 se.ee就被弃用了,因此我装了两个版本的jdk,随时可以切换,当前用的是8。如果在flutter中配置AndroidSDK不成功,可以试一下:flutter config --android-sdk”/Users/zhousong/Documents/Android”

4.引用

https://stackoverflow.com/questions/49175231/flutter-does-not-find-android-sdk

https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容