Flutter中几个常见的小白问题

JarvanMo · · 62 次点击 · · 开始浏览    

在我们QQ群(892398530)中总会遇到各种各样的问题,现在将一些常见问题总结一下,以供大家学习。

一、flutter run或者flutter packages get 卡住了

安装Flutter的时候一定没看文档,由于你懂的原因,国内使用Flutter需要配置镜像。为PUB_HOSTED_URLFLUTTER_STORAGE_BASE_URL配置下指定地址。目前来有两个镜像可供选择:

//上海交通大学 Linux 用户组
FLUTTER_STORAGE_BASE_URL: https://mirrors.sjtug.sjtu.edu.cn
PUB_HOSTED_URL: https://dart-pub.mirrors.sjtug.sjtu.edu.cn

//Flutter 社区
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
PUB_HOSTED_URL: https://pub.flutter-io.cn

至于选哪个,看你爱好了。
在Windows上就是配置环境变量了。以Windows10为例,右击此电脑,依次选择选择属性->高级系统设置->环境变量

image.png

然后就是这张图了:


image.png

至于为当前用户还是系统创建环境变量,看你心情:


image.png

image.png

对MacOS或者Linux来说,运行flutter命令前可以这样:

 export PUB_HOSTED_URL=https://pub.flutter-io.cn
 export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

当然了这只对当前终端有效,如果想一劳永逸可以将上述环境变量添加到/etc/profile或者~/.bashrc中:

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

官方文档在此

二、License for package Android SDK Build-Tools 28.0.3 not accepted.

运行flutter doctor之后有如下提示:

image.png

无非就是要你同意一下android-licenses,我们接着运行: flutter doctor --android-licenses,然后一顿yes就可以了。

image.png

三、gradle无法下载依赖

参考我之前的文章

四、_是什么意思

经常在看到类似如下所示的代码:

    fluwx.responseFromShare.listen((_) {
      //do something
    });

所以,_到底是什么?这个_就是一个普通参数,和a,b,c这样的参数实质是一样的。一般来说,被命名为_的变量一般来说是不会被引用的,相当于一个占位符,是一种不成文的规定,类似的规定也可见于golangkotlin等语言中。

五、type 'String' is not a subtype of type 'int' in type cast

没什么可说的,就是类型转换错误,常见于json解析中。除了仔细检查别无选择。

六、运行android时提示Bad UTF-8

引起这个问题的原因太多了,不好详述。但是我可以告诉你一个办法。最简单的就是安装一个AndroidStudio,然后在项目上右键,选择Flutter

打开安装项目

然后点击Run:


运行按钮

一般来说,运行一下,控制台就会告诉你究竟有什么问题。

当然了,如果不想安装AndroidStudio也是可以的,前提是你会玩终端,首先进行android目录,然后运行:

./gradlew assembleDebug

在Windows下:

gradlew assembleDebug

终端会给出相应的错误信息,一般来说都能解决问题。

六、Android resource linking failed

如下图:


image.png

修改compileSdkVersion到指定版本,上图就是要改到28。找到build.gradle,具体位置如下:

build.gradle

然后修改compileSdkVersion版本:
compileSdkVersion

八、我的java文件怎么全飘红了

我的java文件全红了,而且自动提示也没了。

红了

你为什么要在Flutter工程中编写原生代码?请用AndroidStudio或者Xcode打开对应的原生项目。至于怎么打开请看第六条
如果阁下练过铁头功,非想在Flutter工程写Android的原生代码,那你可以打开AndroidStudio是设置,找到Flutter选项,然后勾上下面的选项试试:
勾上

这只是一个实验性的选项。

八、编写插件怎么没提示

第七条去。

最后

写了这么多,就不能关注一下微信公众号?

OpenFlutter

本文来自:简书

感谢作者:JarvanMo

查看原文:Flutter中几个常见的小白问题

62 次点击  
加入收藏 微博
下一篇:工作总结
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传