Flutter环境搭建
因为是我android 开发 并已经安装xcode玩耍的!!!所以从以下错误开始
首先
使用镜像
由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
我de 环境变量 在 ~/.bash_profile 大家可能配的不同哈 在后面追加就好 当然也可以直接使用命令行方式追加
之后在
官方下载 flutter
最新可用的安装包,官网地址:https://flutter.io/sdk-archive/#macos
注意,Flutter的渠道版本会不停变动,请以Flutter官网为准。另外,在中国大陆地区,要想正常获取安装包列表或下载安装包,可能需要翻墙,读者也可以去Flutter github项目下去下载安装包,地址:https://github.com/flutter/flutter/releases 。
当然 git 下载也行 不过在github下载超级无敌慢 可能还会失败 (我就是等了及各种结果下载失败了)
git clone -b beta https://github.com/flutter/flutter.git
export PATH=`pwd`/flutter/bin:$PATH
接下来是
配置路径
打开下载并进入到flutter 目录
临时配置 export PATH=`pwd`/flutter/bin:$PATH
全局配置
将Flutter添加到PATH中,可以在任何终端会话中运行flutter命令。
对于所有终端会话永久修改此变量的步骤是和特定计算机系统相关的。通常,您会在打开新窗口时将设置环境变量的命令添加到执行的文件中。例如
确定您Flutter SDK的目录记为“FLUTTER_INSTALL_PATH”,您将在步骤3中用到。
打开(或创建) $HOME/.bash_profile。文件路径和文件名可能在你的电脑上不同.
添加以下路径:
export PATH=[FLUTTER_INSTALL_PATH]/flutter/bin:$PATH
例如笔者Flutter 安装目录是“~/code/flutter_dir”,那么代码为:
export PATH=~/code/flutter_dir/flutter/bin:$PATH
运行 source $HOME/.bash_profile
刷新当前终端窗口。
注意: 如果你使用终端是zsh,终端启动时 ~/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile
验证“flutter/bin”是否已在PATH中:
echo $PATH
没问题的话就
执行 flutter doctor
按照官方文档执行 到 flutter doctor
的时候发现这个错
✗ Android license status unknown.
Try re-installing or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit
https://flutter.dev/setup/#android-setup for detailed instructions.
从报错提示来看,需要添加Android license。
执行命令:
flutter doctor --android-licenses
然后发现 居然要更新!!!
pengzhixiandeMacBook-Pro:work pengzhixian$ flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
/Users/pengzhixian/Library/Android/sdk/tools/bin/sdkmanager --update
头疼 在sdk更新不管用 只好按照提示 执行
/Users/pengzhixian/Library/Android/sdk/tools/bin/sdkmanager --update
然后再报错 是的 报错!!!
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 5 more
真是刺激 我忍, 继续google查找相关问题
然后发现问题解决方案 执行sdkmanger --update 报错
上述问题产生主要是因为flutter要求的的就打开版本跟自己本地的不一样,当时要求的是jdk8 我只是切回了8 就解决了 (flutter后续应该会修复吧)
试了下其他人说的修改sdkManager无效。。
好解决 继续下一步
…
一路按照提示下来居然搭好了。。好了。。。
end!