Flutter 构建错误:无效源版本:17

问题描述 投票:0回答:1

我正在使用 hmssdk_flutter: ^1.10.6 构建直播应用程序,但在调试时我得到了

FAILURE: Build failed with an exception. 
What went wrong: 
Execution failed for task ':hmssdk_flutter:compileDebugJavaWithJavac'. 
error: invalid source release: 17.

下面我给出了java版本

java version "1.8.0_341"
Java(TM) SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)

颤动版本

flutter --version
Flutter 3.22.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 761747bfc5 (4 months ago) • 2024-06-05 22:15:13 +0200
Engine • revision edd8546116
Tools • Dart 3.4.3 • DevTools 2.34.3

Android 项目配置(android/app/build.gradle):

android {
namespace = "com.example.demo2_hms_flutter_application"
compileSdk = 34
ndkVersion = flutter.ndkVersion

compileOptions {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

defaultConfig {
    applicationId = "com.example.demo2_hms_flutter_application"
    minSdk = 21
    targetSdk = 34
    versionCode = flutterVersionCode.toInteger()
    versionName = flutterVersionName
    multiDexEnabled true
}

buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig = signingConfigs.debug
    }
}

我将非常感谢任何有关如何解决此问题的指导或建议。感谢 提前为您提供见解!

java android flutter kotlin dart
1个回答
0
投票

错误

error: invalid source release: 17
表示您当前的JDK无法使用
sourceCompatibility JavaVersion.VERSION_17
构建项目,该项目在
hmssdk_flutter
这里中使用。

实际上,我认为你有两个选择:

  1. 更新您的设置以使用 JDK 至少 17。有很多选项可以执行此操作,例如更新您的

    Android Studio
    (因为较新的版本将使用 17 甚至 21)或仅更新您的
    JAVA_HOME
    以指向较新的安装。但无论如何,如果您选择此选项,至少使用 JDK 17

  2. 分叉

    hmssdk_flutter
    并以将使用
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
    here 的方式修补它。这是关于如何使用分叉版本的说明

我确实相信每个人都应该坚持这个答案中的第一个选项,因为 JDK 8 相对较旧并且已被弃用,无论如何你都必须很快更新。

© www.soinside.com 2019 - 2024. All rights reserved.