我在尝试构建 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 执行失败
有人可以提供如何解决此问题的指导吗?任何见解或建议将不胜感激。
您的“.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