2024最新flutter在android studio中部署系列问题解决

2024最新flutter在android studio中部署系列问题解决

环境介绍

flutter版本:3.10.2
android studio版本:Android Studio Ladybug | 2024.2.1
系统版本:windows11

由于笔者最近想要开发一个移动app,查找资料发现flutter写app比较舒服,故尝试安装flutter,遇到了一系列的问题,对其进行了相关的总结。

android studio创建flutter项目卡住/flutter create卡住

由于创建flutter会使用相关的国内源,在第一次使用flutter很多都是因为国内源的问题导致的,因此,可以先在资源管理器中打开对应的终端,使用flutter create projectname的方式去创建一个项目。

可以看到创建项目这里是需要下载东西的,这里需要在环境变量中配置国内的源即可加速下载,否则会很慢。(笔者这里是配置好的flutter上推荐的镜像)
需要在windows中打开环境变量->用户变量处配置

(1)key:PUB_HOSTED_URL value:https://pub.flutter-io.***
(2)key:FLUTTER_STORAGE_BASE_URL value:https://storage.flutter-io.***
配置完成后运行flutter create即可快速创建项目。

flutter运行时很慢/卡在Running Gradle task ‘assembleDebug’…

这里也是在下载东西,没有下载到一直在等,主要是创建项目的时候,会有一个gradle-wrapper.properties文件,是自动创建的,因此配置也是系统默认的。


可以看到注释部分是国外的网站,因此导致下载很慢。在android studio创建的任何项目都应该将其修改为国内源,否则第一次初始化都会卡住,这里修改为腾讯国内镜像。

distributionUrl=https\://mirrors.cloud.tencent.***/gradle/gradle-7.5-all.zip

修改后下载速度变快。

flutter运行报错/Could not open settings generic class cache for settings file BUG! exception in phase ‘semantic analysis’ in source unit ‘BuildScript’ Unsupported class file major version 63

出现这个原因是因为java的版本和flutter所需的版本不一致。笔者认为大家应该都在电脑中安装了java,配置好了java的系统版本。因此需要大家验证一下java的版本。java -version

这里显示版本号,需要进行相应的修改。笔者这里是11的版本,原先的报错是说63版本不匹配,也就是对应java17以上的版本,因此需要修改一下。只需要修改java-home这个环境变量即可,修改为你的别的版本的java路径。

还有一个问题是,修改了java_home不起作用,主要原因是orcale软件会有配套的java环境,其会影响自己本机的java的优先级。需要查看path中路径的先后顺序
比如笔者电脑环境变量path内容如下:

可以看到标红的部分,就是oracle会影响的,需要保证java的bin和jre的目录在其前面,可以看到笔者的顺序是正确的。这样java的版本就会和你设置的java_home保持一致了。

flutter运行卡住/Could not resolve all dependencies for configuration ‘:classpath’.Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository ‘maven3(http://maven.aliyun.***/nexus/content/groups/public)’ to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.5/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

上述问题是另一个导致flutter卡住的问题,主要是运行的时候,下载另一部分的内容导致的,也是需要修改国内的镜像源。需要修改的文件内容如下:
1.flutter\packages\flutter_tools\gradle\flutter.gradle

buildscript {
    repositories {
        // google()
        // mavenCentral()
        //替换部分
        maven { url 'https://maven.aliyun.***/repository/google' }
        maven { url 'https://maven.aliyun.***/repository/jcenter' }
        maven { url 'https://maven.aliyun.***/repository/public' }
    }
    dependencies {
        /** When bumping, also update ndkVersion above, as well as the Android Gradle Plugin
         * version in ../lib/src/android/gradle_utils.dart.
         */
        classpath '***.android.tools.build:gradle:7.3.0'
    }
}
    // google() // mavenCentral()这两行需要注释掉,换成下面的maven。

同时需要打开项目文件,修改build.gradle,也是需要加上上面的三个maven。

buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
//        google()
//        mavenCentral()
        maven { url 'https://maven.aliyun.***/repository/google' }
        maven { url 'https://maven.aliyun.***/repository/jcenter' }
        maven { url 'https://maven.aliyun.***/repository/public' }
    }

    dependencies {
        classpath '***.android.tools.build:gradle:7.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
allprojects {
    repositories {
//        google()
//        mavenCentral()
        maven { url 'https://maven.aliyun.***/repository/google' }
        //maven{url 'http://maven.aliyun.***/nexus/content/groups/publi'}这种是错误的,不能是http的协议!
        maven { url 'https://maven.aliyun.***/repository/jcenter' }
        maven { url 'https://maven.aliyun.***/repository/public' }
    }
}

只需要注释google()和mavenCentral()并加上三个maven哦
还需要注意的是,确保替换的国内镜像源是https协议!!!!,否则会报不安全错误无法运行!!!
原因是:自Gradle 7.0版本起,默认情况下不允许使用非安全协议(如HTTP),除非显式地选择允许这样做。这是为了增强安全性,防止中间人攻击等安全威胁。
在控制台调试运行flutter项目可以使用flutter run -v,会显示对应的日志。

转载请说明出处内容投诉
CSS教程网 » 2024最新flutter在android studio中部署系列问题解决

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买