Flutter 构建错误:构建应用程序包时“无效源版本:17”

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

我在尝试构建 Android 应用程序包 (

appbundle
) 以在 Android Studio 上的 Flutter 项目中发布时遇到问题。我收到以下错误消息:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':package_info_plus:compileReleaseJavaWithJavac'.
> error: invalid source release: 17

这是我的设置的一些详细信息:

Java版本:

java -version
java version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)

环境配置(

.zshrc
.bash_profile
):

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-17.0.2/Contents/Home
export PATH=$PATH:/Users/name/Documents/app-dev/flutter/bin

颤动版本:

flutter --version 
Flutter 3.19.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 54e66469a9 (2 days ago) • 2024-04-17 13:08:03 -0700
Engine • revision c4cd48e186
Tools • Dart 3.3.4 • DevTools 2.31.1

Android项目配置(

android/app/build.gradle
):

android {
    compileSdkVersion 34
    android {
        ndkVersion "25.2.9519653"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }
}

升级到

macOS Sonoma 14.4.1
后我一直面临这个问题,并且我正在使用
M3 Mac

我尝试了堆栈溢出的各种解决方案 Android Studio 中的任务 :app:compileDebugJavaWithJavac 执行失败

有人可以提供如何解决此问题的指导吗?任何见解或建议将不胜感激。

flutter android-studio macos-sonoma
1个回答
0
投票

您的“.zshrc”或“.bash_profile”中是否使用了两个与Java相关的环境配置?

注意:export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) 将 Java_home 设置为 Java 1.8,并导出 JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-17.0.2/Contents/Home 设置为 OpenJDK 17,可能会出错由于java版本或配置冲突

您可以通过以下方式解决,

1 使用 echo $JAVA_HOME 检查 Java 版本,确保它使用 Java 1.8 版本

2 更新 Android 项目的“build.gradle”文件中的 Gradle Conf,确保“compileOptions”和“kotlinOptions”设置为使用 Java 1.8:

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

    kotlinOptions {
        jvmTarget = '1.8'
    }
}

3 删除冲突的 JAVA_HOME 由于代码中有两个“JAVA_HOME”配置,请删除或注释掉“.zshrc”或“.bash_profile”中将其设置为 OpenJDK 17 的配置

4 重启Android studio

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