在2024年,安装Flutter,这一篇文章就够了(bushi

前言

如题,这篇博客的目的是主要是为了分享作者自己在安装Flutter框架中所遇到的一些问题可能的解决方案。如果有写的不对的地方还请大家指正。

作者是一名大一新生,试图通过Flutter框架来构建自己的Android应用。

那么,为什么我会选择Fultter?

  1. 我个人非常喜欢谷歌 MD 3 的设计语言,说白了就是喜欢他的颜值。
  2. Flutter是一个跨平台框架,可以用一套代码打包多个平台的应用。
  3. 我个人正在使用的一些优秀的软件都是基于Flutter框架的,如,动漫之家X,kazumi。

作者现在撰稿的时间是北京时间 2024/12/17 19:25:26

为什么要强调这个?

因为我发现很多关于Flutter的文章都已经是几年前的了,有些文章对于现有的问题的解决方案已经失效了,所以我才决定抽时间来写这么一篇文章来帮助那些想入坑Flutter的新人们(虽然我也是一个接触Flutter一天多的萌新,但是我感觉我在安装的过程中几乎把能踩的坑都踩了,所以希望这篇文章能帮助大家!!)

安装

这里建议大家可以直接去Flutter中文官网阅读官方的安装指南就行。下图是Flutter中文官网的截图

地址:Flutter: 为所有屏幕创造精彩

安装和环境配置 | Flutter中文文档

点击右上角的开始使用,按照指示一步一步安装就好。

下载Flutter SDK建议使用 自行下载安装 ,因为 使用VSCode安装 是在Clone Flutter在Github的仓库,下载速度将会非常慢。

下载完成后可以尝试在CMD中执行

flutter --version

来确定是否安装成功。(确定环境变量配置好之后,可能需要重启一下电脑才能生效

然后执行

flutter doctor

安装成功应该会显示如下内容:

这里我们主要关注Android那一栏是不是完全打勾的,如果不是就要根据上面的解决提示去排查。

这里主要会出现问题的原因多半是Android Studio里面的没有下载要求的SDK所导致的。需要你在Android Studio的Settings - SDK Manager中按照文档要求下载SDK。

如果你在下载Android SDK的过程中更改到了其他位置,如我的位置就是 D:\dev\android\sdk 

那么你需要执行以下的命令来更改SDK位置的配置:

flutter config --android-sdk D:\dev\android\sdk

至此,Flutter的安装就应该完成了。

(如果你想打包Windows软件的话,你需要去安装一下Visual Studio中 使用C++的桌面开发 部分,如下图)

换源

Flutter在打包软件的过程中会依赖很多国外的软件包,其中包括Google。所以想在国内不使用加速器来运行Flutter基本是不可能的,所以我们需要换源。

这里使用的清华Tuna的官方镜像:Flutter | 镜像使用帮助

同样你也可以使用官方社区的源,但是不建议使用阿里云的源,不知道为什么,我是用阿里云的源就会报错(见下文)。

我这里主要介绍一下我自己的设置。

环境变量

添加以下两项:

FLUTTER_STORAGE_BASE_URL

        https://mirrors.tuna.tsinghua.edu.cn/flutter

PUB_HOSTED_URL

        https://mirrors.tuna.tsinghua.edu.cn/dart-pub

./android/build.gradle

allprojects {
    repositories {
        // 添加这一段
        maven { url 'https://mirrors.tuna.tsinghua.edu.cn/git/flutter/download.flutter.io' } 
        google()
        mavenCentral()
    }
}

./android/gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
# distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
# 直接把对应的包下载下来保存在本地
distributionUrl=file:///D:/dev/gradle/gradle-8.3-all.zip

这里直接去阿里云的镜像站可以下载:Gradle安装包下载

flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy

buildscript {
    repositories {
        // 在这里插入
        maven { url 'https://mirrors.tuna.tsinghua.edu.cn/git/flutter/download.flutter.io' }
        google()
        mavenCentral()
    }
    dependencies {
        // When bumping, also update:
        //  * ndkVersion in FlutterExtension in packages/flutter_tools/gradle/src/main/groovy/flutter.groovy
        //  * AGP version in the buildscript block in packages/flutter_tools/gradle/src/main/kotlin/dependency_version_checker.gradle.kts
        //  * AGP version constants in packages/flutter_tools/lib/src/android/gradle_utils.dart
        //  * AGP version in dependencies block in packages/flutter_tools/gradle/build.gradle.kts
        classpath("com.android.tools.build:gradle:7.3.0")
    }
}

代码对应的位置在100行以后

问题解决

主要是现在作者已经完成了Flutter的安装,很多的问题也难以复现了,所以我就按照我的印象来写这部分,帮大家避坑。

(这里面主要列了一些本人遇到的有代表性的报错,有些不重要的,或者是由我手贱造成的就没有列在里面)

重要提示!!!

如果你使用下面的各种解决方法,仍然没有解决问题的,你可能需要初始化以下工程依赖,具体的方法在文章的最后一部分。

No Connected Devices Found

这个是因为你没有启动虚拟机。如果你是熟悉Android Studio的同学,这个问题应该很轻松就能解决。不过我这里还是讲一下:

通过Android Studio启动

通过CMD启动

分别输入下面的两条命令就可以启动

flutter emulators
flutter emulators --launch <emulator Id>

这里建议,如果大家使用Android Studio开发的话,就用第一种;如果用VS Code开发的话用第二种。(其实我更加建议大家使用第一种方法)

卡 Running Gradle task 'assembleDebug'... 

这个问题的出现一般是没有配置好源引起的。这里咱们需要检查一下上面换源所讲的内容大家是否完成了。

如果完成之后问题还没有解决,那就需要去清理一下Gradle的缓存,方法如下:

在工程所在的目录的终端输入:

cd android
./gradlew clean build

如果这里报错显示无法完成的话,有几种情况:(具体的报错代码我记不清了,所以这里主要靠我自己的描述,同样的,你也可以根据报错内容来自行判断)

在初始化的过程中会下载一个50mb的文件,这里可能需要使用加速器。

  1. 在下载这个文件之前报错:这个问题主要是因为你没有安装Java环境,关于这个的安装我就不介绍了,在优快云上有很多相关的文章
  2. 在下载这个文件之后报错BULID FAILED:这个问题主要是因为你的Gradle版本和Java版本不匹配。官方的最新的Flutter框架使用的是Gradle 8.3最高支持到Java 20,这点请大家注意。

这是我找知乎老哥要的图:原地址

Could not find kotlinx-coroutines-core-jvm-1.7.1.jar (org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1).         Searched in the following locations: https://maven.aliyun.com/repository/jcenter/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.7.1/kotlinx-coroutines-core-jvm-1.7.1.jar

这个问题是我在使用阿里云的仓库时遇见的,如果你按照我的步骤,应该是不会遇到这个问题的。

Error: Gradle task assembleDebug failed with exit code 1

这个的可能原因是因为你没有同意Flutter的相关协议,可以通过以下的方法解决:

flutter doctor --android-licenses

然后一路输入'y'即可。

Gradle threw an error while downloading artifacts from the network.

这个问题的原因是你没有正确的换源,导致无法下载对应的依赖。

(其实换不换源都没有一个加速器来的方便,中国的开发者太难了。。。)

����: [options] Դֵ 8 �ѹ�ʱ������δ�����а���ɾ�� ����: [options] Ŀ��ֵ 8 �ѹ�ʱ������δ�����а���ɾ�� ����: [options] Ҫ�����й��ѹ�ʱѡ��ľ���, ��ʹ�� -Xlint:-options�� 3 ������

奇怪的报错,不明所以,但是并不影响运行。

Warning: SDK processing. This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times.

这个警告通常是由于你使用的 Android Studio命令行工具 的版本不一致。具体来说,你的 SDK XML 文件 的版本高于当前工具所支持的最新版本。

但是这个问题一般也不影响调试代码。

Flutter assets will be downloaded from https://mirrors.tuna.tsinghua.edu.cn/flutter. Make sure you trust this source!

信任你在清华Tuna的源,这一点毋庸置疑。。。

初始化工程依赖

在工程的根目录终端输入以下命令即可:

flutter clean
flutter pub get

这时候你就可以使用右上角的运行按钮来调试你的工程了。

可能遇到的小问题

你可能在打包工程的时候会一直卡 Running Gradle task 'assembleDebug'...  ,这个问题我只遇到了一次,不知道是什么原因引起的,多尝试几遍就好了。

下面列一下可能的问题解决方案:(来源于Copilot)

这个问题可能是由于多种原因引起的。通过Ctrl + F5(热重载)和flutter build apk(完整构建)使用的流程和工具链略有不同。以下是一些可能的原因和解决方法:

  1. 依赖问题:确保所有依赖项都已正确安装和配置。你可以运行 flutter pub get 来获取所有的依赖项。
  2. 缓存问题:Flutter的缓存有时候会导致构建问题。你可以尝试清理缓存,然后重新构建项目。
  3. Gradle配置问题:确保你的Gradle配置正确,特别是 android/build.gradle 和 android/app/build.gradle 文件中的配置。
  4. 日志信息:运行 flutter build apk --verbose 来获取更详细的日志信息。这可以帮助你更好地了解是什么原因导致构建失败。
  5. 环境变量:确保你的环境变量配置正确,例如 ANDROID_HOME 和 JAVA_HOME 。
  6. Flutter和Dart版本:确保你使用的是最新版本的Flutter和Dart SDK。你可以运行 flutter up来检查和更新Flutter:
  7. 权限问题:有时候权限问题会导致构建失败。确保你有足够的权限来访问和修改项目目录和依赖项。

关于上面的第5点的解决方案:

要确保你的环境变量配置正确,特别是`ANDROID_HOME`和`JAVA_HOME`,你可以按照以下步骤操作:

1. 设置ANDROID_HOME:

打开你的系统环境变量设置:

        在Windows上,右键点击"此电脑"(或"计算机"),选择"属性",然后点击"高级系统设置"。

        在"系统属性"窗口中,点击"环境变量"。

        在"系统变量"部分,点击"新建"按钮,创建一个新的变量:

        变量名:ANDROID_HOME

        变量值:你的Android SDK安装路径

找到Path变量,然后点击"编辑"。在路径列表中添加以下路径:

        %ANDROID_HOME%\platform-tools

        %ANDROID_HOME%\tools

2. 设置JAVA_HOME:

同样在"系统变量"部分,点击"新建"按钮,创建一个新的变量:

        变量名:JAVA_HOME

        变量值:你的JDK安装路径

找到Path变量,然后点击"编辑"。在路径列表中添加以下路径:

        %JAVA_HOME%\bin

3. 验证设置:

打开一个新的命令提示符窗口,输入以下命令以确保环境变量已经正确设置:

        echo %ANDROID_HOME%

        echo %JAVA_HOME%

如果配置正确,命令应该返回你的Android SDK和JDK安装路径。

结尾

希望这篇文章能够帮助到你,如果你还遇到其他的问题,可以在评论区留言,我们可以一起探讨。

对于大学生的话,现在应该也临近期末考试了,希望我和大家都能考出好成绩!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值