前言:作为一名iOS开发者,现在来学习一下flutter,话不多说,开始。
首先我们要去官网找SDK及文档 flutter中文网 flutter专门为国人建立的中文网站。
1. 下载SDK,下载完之后解压,我把解压后的目录放在了/Users/zhousong/Documents
文件夹下
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
,如果出现
安装成功之后还要在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
再执行
/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
警告还是有证书没有接受,然后重新执行
flutter doctor --android-licenses
,会有很多选择,一直输y就行。等到完成输入flutter doctor
- 说明安卓的问题解决了,接下来是iOS(因为是iOS开发,很多东西都配置了,这里就不再多说了)
首先我们要安装homebrew
,执行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
出现
之后回车输入电脑密码等待完成。输入brew -v
然后开始执行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.
- 是的,还有两个错误,
flutter
和Dart
插件没有安装,flutter
对三中IDE做了插件支持IntelliJ IDEA
Android Studio
和VS Code
,我安装了IDEA,所以使用它下载插件。preference->plugins,搜索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