解决flutter环境配置问题引起的执行flutter run卡住不动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决flutter环境配置问题引起的执行flutter run卡住不动相关的知识,希望对你有一定的参考价值。

参考技术A //修改的地方

        maven  url 'https://maven.aliyun.com/repository/google' 

        maven  url 'https://maven.aliyun.com/repository/jcenter' 

        maven  url 'http://maven.aliyun.com/nexus/content/groups/public' 

distributionUrl=file\:/D\:/softWare/gradle/gradle-5.4.1-all.zip

注意,你安装的gradle版本必须和你项目配置的flutter版本想匹配,附上插件版本所需的 Gradle 版本链接 (https://www.cnblogs.com/sendling/p/13452173.html),选择安装你适配的版本!

 repositories 

        // google()

        // jcenter()

        //修改的地方

        maven  url 'https://maven.aliyun.com/repository/google' 

        maven  url 'https://maven.aliyun.com/repository/jcenter' 

        maven  url 'http://maven.aliyun.com/nexus/content/groups/public' 

    

 //修改的地方

  private static final String MAVEN_REPO = "http://download.flutter.io";

project.rootProject.allprojects 

            repositories 

                maven 

                    url repository

                    //修改的地方

                    //添加

                    maven  url 'https://maven.aliyun.com/repository/google' 

                    maven  url 'https://maven.aliyun.com/repository/jcenter' 

                    maven  url 'http://maven.aliyun.com/nexus/content/groups/public' 

                

            

        

修改这些地方后,执行flutter clean后重新运行flutter run,发现已经运行成功,

虚拟机内也启动了flutter的demo画面,至此,大功告成~~~

Flutter环境搭建

Flutter环境的搭建过程中确实是遇到了不少坑,这里记录一下,以下内容均基于win10。

使用国内镜像

方便国内访问flutter
设置环境变量
PUB_HOSTED_URL :https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cn
镜像不保证长期能用, 访问https://github.com/flutter/flutter/wiki,获取最新动态。

需要环境

  • git
  • Flutter SDK : 安装后把安装位置flutterin 配置到path环境变量
    下载页面
  • Android Studio :下载页面

Android Studio配置

  • 第一次安装Android Studio,启动的时候可能会提示unable to access android sdk add-on list,这里是因为没有安装Android sdk, 我这里先点的cancle,进去之后再安装
  • 技术图片
    点击进入SDk Manager,下载相关需求,我这里勾选的可能会有多的,但是必须的都有
    技术图片
  • 安装Flutter和Dart plugins
    • File > Settings > Plugins, 在Marketplace中找到Flutter,一般安装了flutter会自动安装dart。

Flutter检测

运行命令, 看一下还有哪些需要配置的东西没有通过

flutter doctor -v

我这里遇到的还有Android license status unknown. 这个问题
执行

flutter doctor --android-licenses

顺利的话一路按y就可以了,但是现实总是那么残酷
新的问题:

A newer version of the Android SDK is required. To update, run:
C:UsersadminAppDataLocalAndroidSdk	oolsin/sdkmanager --update

run一下试试呗

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:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 5 more

这错误越来越长, 查了下可能和java版本有关,新版本的java去掉了一些库, 我用的是java 13,网上说换成8就好了,但是我也是不想换(懒),在网上发现一篇教程https://www.wandouip.com/t5i325108/ , 安装一下去掉的库就行了,下面是所需库的下载链接。

activation.jar
jaxb-impl.jar
jaxb-xjc.jar
jaxb-core.jar
jaxb-jxc.jar
jaxb-api.jar
istack-commons-runtime.jar

下载后在AndroidSdk ools目录下创建文件夹jaxb文件夹,将jar文件放进去,可以把jar文件名称中的版本号去掉。然后把路径添加到AndroidSdk oolssdkmanager.bat文件中,如下

set CLASSPATH=%APP_HOME%jaxbactivation.jar;%APP_HOME%jaxbjaxb-impl.jar;%APP_HOME%jaxbjaxb-xjc.jar;%APP_HOME%jaxbjaxb-core.jar;%APP_HOME%jaxbjaxb-jxc.jar;%APP_HOME%jaxbjaxb-api.jar;%APP_HOME%jaxbistack-commons-runtime.jar;%APP_HOME%libdvlib-26.0.0-dev.jar;%APP_HOME%libjimfs-1.1.jar;%APP_HOME%libjsr305-1.3.9.jar;%APP_HOME%lib
epository-26.0.0-dev.jar;%APP_HOME%libj2objc-annotations-1.1.jar;%APP_HOME%liblayoutlib-api-26.0.0-dev.jar;%APP_HOME%libgson-2.3.jar;%APP_HOME%libhttpcore-4.2.5.jar;%APP_HOME%libcommons-logging-1.1.1.jar;%APP_HOME%libcommons-compress-1.12.jar;%APP_HOME%libannotations-26.0.0-dev.jar;%APP_HOME%liberror_prone_annotations-2.0.18.jar;%APP_HOME%libanimal-sniffer-annotations-1.14.jar;%APP_HOME%libhttpclient-4.2.6.jar;%APP_HOME%libcommons-codec-1.6.jar;%APP_HOME%libcommon-26.0.0-dev.jar;%APP_HOME%libkxml2-2.3.0.jar;%APP_HOME%libhttpmime-4.1.jar;%APP_HOME%libannotations-12.0.jar;%APP_HOME%libsdklib-26.0.0-dev.jar;%APP_HOME%libguava-22.0.jar

再次运行

C:UsersadminAppDataLocalAndroidSdk	oolsin/sdkmanager --update

终于不报错了,在运行

flutter doctor --android-licenses

一路y之后,再检测flutter doctor -v 看看是否还有没配置的地方。

以上是关于解决flutter环境配置问题引起的执行flutter run卡住不动的主要内容,如果未能解决你的问题,请参考以下文章

MAC安装flutter开发环境

命令行执行flutter doctor无响应原因追踪及解决

Flutter环境搭建

FlutterDart中的匿名函数闭包

Flutte VS RN

Flutter 在win7上面的搭建