博主第一次玩VS Code来创建Flutter项目,目的只是想了解下Flutter跨端。直接上手,不讲多余

编译VS Code环境如下:

版本: 1.100.2 (Universal)
提交: 848b80aeb52026648a8ff9f7c45a9b0a80641e2e
日期: 2025-05-14T21:47:40.416Z
Electron: 34.5.1
ElectronBuildId: 11369351
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin x64 24.0.0

编译机型:Mac OS 15.0.1版本
在 macOS 上构建 Flutter Android 应用安装传送门Flutter安装传送门
VS Code的Flutter插件在这里插入图片描述
创建新的Flutter项目,按住【Command + Shift + P】调出命令面板在这里插入图片描述
默认选中新建Flutter项目
在这里插入图片描述
选择项目安装的目录
在这里插入图片描述
项目名字
在这里插入图片描述
回车,等待项目创建完成。
在这里插入图片描述
选择运行 - 启动调试或者直接按住F5启动项目调试
在这里插入图片描述
在这之前需要插入真机调试模式,就是手机需要开启开发者模式。这里我用真机器安装Flutter项目。
首次运行调试项目,出现以下问题在这里插入图片描述
大致意思是,项目的Gradle版本与Flutter使用的Java版本不兼容。
在这里插入图片描述
从问题界面可知:这个错误是因为 Android Gradle 插件需要 Java 11,而当前环境正在使用 Java 1.8
在这里插入图片描述
修改这个Java 1.8为Java 11版本。

compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

kotlinOptions {
        jvmTarget = '11'
}

在这里插入图片描述
再次运行项目,还是提示以下问题。在这里插入图片描述
在终端使用java -version查看配置的Java环境
在这里插入图片描述
看来问题出在这里了,项目默认使用我之前配置的Java环境。而不是Java 11。这里需要安装更改Java 11的安装环境,或者安装过Java 11的目录【不配置环境变量等】,然后在项目里更改指向java环境也行。由于之前搞Android Studio下载过很多Java环境。

在终端输入 /usr/libexec/java_home -v 11看看有没有java 11的环境。
在这里插入图片描述
接下来更换该项目的默认java配置环境。
在 gradle.properties 文件中添加以下内容:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.x.jdk/Contents/Home

在这里插入图片描述
在终端输入 flutter clean 【清理项目缓存】,
在这里插入图片描述
在这里插入图片描述
继续终端执行flutter run【重新运行项目】命令,运行该项目
在这里插入图片描述
等待程序执行安装。
在这里插入图片描述
在这里插入图片描述
至此,项目成功运行。首次运行出现的bug有以下:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> BUG! exception in phase 'semantic analysis' in source unit '/Users/fangjia/development/flutter/packages/flutter_tools/gradle/src/main/groovy/app_plugin_loader.groovy' Unsupported class file major version 65

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

┌─ Flutter Fix ────────────────────────────────────────────────────────────────────────────────────┐
│ [!] Your project's Gradle version is incompatible with the Java version that Flutter is using    │
│ for Gradle.                                                                                      │
│                                                                                                  │
│ To fix this issue, consult the migration guide at docs.flutter.dev/go/android-java-gradle-error. │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
Exception: Gradle task assembleDebug failed with exit code 1

以及问题提示:


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gradle:compileGroovy'.
> BUG! exception in phase 'semantic analysis' in source unit '/Users/****/development/flutter/packages/flutter_tools/gradle/src/main/groovy/app_plugin_loader.groovy' Unsupported class file major version 65

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

文中解决办法我已经给出了。出现类似问题大致解法就是这样。

修改原代码如下:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: const Text('Flutter Demo Home Page'),
      ),
      body: const Center(
        child: Text(
          'hello 你好,记得点赞支持~',
          style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
        ),
      ),
    );
  }
}

重新运行项目:
在这里插入图片描述
博主幸劳,转载记得标注原出处链接,支持原创。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐