如何解决Flutter在Android Studio中卡在“Dart VM service is listening on”问题

在使用Flutter进行开发时,很多新人都会遇到一个常见的问题:在启动Flutter应用时,控制台输出显示“Dart VM service is listening on”,但应用并没有启动。这篇文章将帮助你理解整个流程,以及如何解决这个问题。

整体流程

下面的表格展示了从创建Flutter项目到运行应用的基本流程:

步骤描述
1创建Flutter项目
2确保开发环境配置正确
3运行Flutter应用
4检查Flutter Doctor
5修改Android配置
6启动应用进行调试

步骤详细说明

接下来我们将逐步深入分析每个步骤,并给出所需代码和注释。

步骤 1: 创建Flutter项目

首先,你需要使用Flutter命令行工具创建一个新的Flutter项目。在终端(命令行)中运行以下命令:

flutter create my_app
  • 1.

这条命令做了以下几件事情:

  • flutter create: 调用Flutter创建项目的命令。
  • my_app: 这是你的项目名称,你可以自定义。
步骤 2: 确保开发环境配置正确

在开始之前,我们需要确保Flutter SDK和相关的Android环境已经正确配置。可以通过以下命令检查:

flutter doctor
  • 1.

这条命令会帮助你识别出Flutter环境中的任何问题,比如缺少Android SDK或是未配置的设备。

步骤 3: 运行Flutter应用

为了在Android Studio中运行Flutter应用,首先打开你刚刚创建的项目,确认main.dart文件存在,并且代码如下:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Hello Flutter')),
        body: Center(child: Text('Welcome to Flutter!')),
      ),
    );
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

这段代码创建了一个简单的Flutter应用。runApp方法是启动应用的关键。

步骤 4: 检查Flutter Doctor

确保你的开发环境没有任何问题,可以在Android Studio的Terminal中重新运行:

flutter doctor
  • 1.

如果有提示“X”,你需要根据提示解决相应的问题。例如,如果提示“Android licenses not accepted”,可以运行以下命令:

flutter doctor --android-licenses
  • 1.
步骤 5: 修改Android配置

有时,我们可能需要确保Android项目信息正确。打开项目中的android/app/build.gradle文件,确保minSdkVersiontargetSdkVersion设置正确,例如:

android {
    compileSdkVersion 31

    defaultConfig {
        applicationId "com.example.my_app"
        minSdkVersion 21 // 你可以根据需要更改
        targetSdkVersion 31 // 你可以根据需要更改
        versionCode 1
        versionName "1.0"
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

这段代码确保了你的Android项目可以支持更高版本的API。

步骤 6: 启动应用进行调试

确保设备或模拟器已经连接,运行以下命令启动应用:

flutter run
  • 1.

如果你仍然看到“Dart VM service is listening on”并且应用不加载,可以尝试重启Android Studio或者使用以下命令停止现有的Flutter进程:

flutter clean
  • 1.

然后再次运行应用:

flutter run
  • 1.

关系图示例

以下是使用Mermaid语法生成的ER图,描述了Flutter开发中的各个组件的关系。

FlutterApp string name string version SDK string flutterVersion string dartVersion Device string deviceId string deviceType User string username string email creates supports runs

甘特图示例

以下是使用Mermaid语法生成的甘特图,展示了Flutter应用开发的时间安排。

Flutter App Development Timeline 2023-10-01 2023-10-02 2023-10-03 2023-10-04 2023-10-05 2023-10-06 2023-10-07 2023-10-08 2023-10-09 2023-10-10 Create Flutter project Configure development environment Write code for main.dart Test Flutter app on device Troubleshoot Dart VM service Deploy app Setup Development Flutter App Development Timeline

结论

这篇文章详细介绍了如何解决Flutter在Android Studio中遇到的“Dart VM service is listening on”的问题。通过创建项目,确保环境配置正确,以及进行必要的代码和配置修改,你应该能够顺利启动你的Flutter应用。

遇到问题无需恐慌,仔细检查每个步骤,并善用Flutter的调试工具,逐步解决问题。希望你在Flutter开发的旅程中一帆风顺,快速成长为一名优秀的开发者!