搭建过程中遇到的问题

这一节主要记录一下我在搭建Flutter开发环境的过程中遇到的几个问题以及解决方法

Flutter插件与Android studio版本不兼容问题

在Android Studio的插件列表里找到Flutter插件,然后安装的时候有个提示‘Plugin ‘Flutter’ is incompatible with this installation’,意思是说要安装的flutter插件与当前的IDE版本不兼容。
解决方法:

  1. 执行Android Studio-Abuout Android Studio 在弹出的面板中找到当前IDE的build号,比如193.xxx.xxx.xxx
  2. 到Jetbrains官网找到对应版本的Flutter插件下载下来之后离线安装
第一次运行Flutter项目卡在assembleDebug

在Android Studio中第一次运行Flutter项目时会比较慢,很可能会卡在 assembleDebug 这个task上

解决方法:

  1. 将项目的镜像源googl和jcenter换成国内的阿里云,主要有两个地方需要替换一个是android目录下的build.gradle,
    另一个是Flutter安装目录下的flutter.gradle,具体路径是/flutter/packages/flutter_tools/gradle/flutter.gradle
  2. 将Android目录下载buidl.gradle中的classpath换成之前使用过的,比如‘com.android.tools.build:gradle:4.1.0’,同时也需要将lutter.gradle中的classpath改成一样的
  3. 同时也建议将gradle-wrapper.propertiers中的distributionUrl换成本地已经安装好的
Android项目中无法继承FlutterActivity

项目创建完成之后运行到真机上没有报错,可以正常运行,但是切换到Android目录之后打开MainActivity.kt发现继承FlutterActivity的位置报红,无法继承。

解决方法:

  1. 删除项目中的Android或者IOS目录
  2. 在Android Studio中打开Terminal,执行flutter create . ,过几秒之后已经删除的目录就会重新创建。
如何创建Java版本的Android项目

现在Flutter在项目创建的时候默认使用kotlin创建Android项目,对kotlin不熟悉的同学如何把项目的语言改成Java呢?

解决方法:
Android

flutter create -a java 项目名

IOS

flutter create -i objc 项目名
升级gradle之后会出现几个问题
  1. gradle版本不兼容,具体表现是:

升级了classpath下的gradle版本之后,退出应用程序,重新运行会出现以下错误提示Minimum supported Gradle version is 6.1.1. Current version is 5.6.2. If using the gradle wrapper, try editing the distributionUrl

解决方法:

按照提示将gradle-wrapper.properties文件中distributionUrl的值改为提示信息中的6.1.1

  1. NDK版本不兼容,具体表现是:

按照提示修复第一个问题之后,重新运行应用,出现以下错误提示No version of NDK matched the requested version 21.0.6113669. Versions available locally: 21.3.6528147

解决方法:

错误信息中提示本地版本是21.3.6528147,所以要在app目录下的build.gradle中加入ndk配置,版本号为本地版本号。

compileSdkVersion 28
    ndkVersion '21.3.6528147'
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
android studio提示dart sdk is not configured

这个提示是因为android studio没有配置dart SDK造成的,我的项目之前一直运行正常,然后突然有一次打开之后就提示这个了。

解决方法:

Android Studio-Preferences-Languages&Frameworks-Flutter,配置Flutter SDK