一.配置
官方配置:https://flutterchina.club/setup-windows/
1.下载
因为flutter被墙了,所以下载的flutter sdk的时候需要翻墙
如果没有翻墙的,当然也可以使用google提供的镜像
在用户环境变量添加以下的环境变量
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
如果还是不清晰,那就请看图
当然,除了从官网下载之外,也可以在github上下载,开源大法~
下载过程中可能会很曲折,这里就不谈了
2.安装
经过非常曲折的下载之后,下面就可以安装sdk了
安装的时候不用把安装包放到权限较高的文件夹,诸如*C:\Program Files*
zip包的话,直接解压即可
如果有需要,最好配置一下环境变量
D:\Enviromment\flutter\flutter\bin
3.添加插件
如果没有下载android studio的同学,需要下载安装
在settings->Plugins下找到flutter以及dart插件,并且安装
4.hello world? 排坑之路
做完以上步骤之后,就可以新建一个flutter项目了
但这时候问题来了,创建好项目之后,无法直接运行,提示我们需要在终端运行flutter doctor来查看还有什么需要配置的
从图中可以看到
X Android license status unknown.
Try re-installing or updating your Android SDK Manager.
这里提示说需要先更新一下Android SDK Manager
所以我们去到了sdk安装路径\sdk\tools\bin下
运行 sdkmanager --update
哦豁~
果然不出所料
根据错误百度了一下,都说是因为jdk版本的问题,因为jdk8以上的版本干掉了一下jar包,所以找不到类,需要把版本回退到jdk8才行,
当然我没有尝试回退~
在什么玩笑,升级了之后就从来没想过要回退版本
那有没有办法不降低版本也可以解决呢,有
从错误log里看到,缺的是javax的包,所以我们只需要把缺少的javax的包给它加上就ok了
百度了一下,发现javax需要以下这些包:
- activation.jar
- jaxb-api.jar
- jaxb-core.jar
- jaxb-impl.jar
- jaxb-jxc.jar
- jaxb-xjc.jar
以及一个runtime - istack-commons-runtime.jar
把这些包都下载回来,可以在这里下载
如果有版本号,可以把版本号去掉在sdk/tools下新建一个文件夹jaxb(命名没有要求,自己喜欢),把下载好的jar放到这个文件夹上
进入sdk/tools/bin下,找到sdkmanager.bat,并用文本比编辑器打开
找到 set CLASSPATH这一行
根据里面的规则
%APP_HOME%\lib\dvlib-26.0.0-dev.jar;%APP_HOME%\lib\jimfs-1.1.jar;
模仿一下
%APP_HOME%\jaxb\activation.jar;
用分号分割,然后拼接上去,把所有jar都加上
%APP_HOME%\jaxb\activation.jar;%APP_HOME%\jaxb\jaxb-impl.jar;%APP_HOME%\jaxb\jaxb-xjc.jar;%APP_HOME%\jaxb\jaxb-core.jar;%APP_HOME%\jaxb\jaxb-jxc.jar;%APP_HOME%\jaxb\jaxb-api.jar;%APP_HOME%\jaxb\istack-commons-runtime.jar;
然后保存
-
在sdk/tools/bin下运行终端,输入sdkmanager --update
成功~~
再回到Android studio的终端
运行命令 >flutter doctor --android-licenses
接着就是一对的y/N的提示 ,,一路 y 就行
最后
运行命令
>flutter doctor
ok完事。
注意,如果使用模拟器运行的话,会报一下错误
解决方法也很简单,在build.gradle上添加
maven { url "http://download.flutter.io" }
5.总结
- 下载flutter的时候需要翻墙,或者使用google提供的临时镜像,会很慢,经历各种曲折,但是最后还是可以下载下来的
- 因为flutter是开源的,所以可以在github上找到源码,也可以在github上下载sdk,但,慢就完事了
- flutter需要在jdk8的java环境下运行,所以可以的话,最好就直接用jdk8,(可以使用javac -version来查看当前的版本号),如果电脑装太多的jdk版本,就要注意了,非常容易出现版本不一致问题
- 对于jdk环境大于8的,同样也不需要担心,按照上面所说的配置一遍就ok了。