我正在使用 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
}
}
我将非常感谢任何有关如何解决此问题的指导或建议。感谢 提前为您提供见解!
错误
error: invalid source release: 17
表示您当前的JDK无法使用sourceCompatibility JavaVersion.VERSION_17
构建项目,该项目在hmssdk_flutter
这里中使用。
实际上,我认为你有两个选择:
更新您的设置以使用 JDK 至少 17。有很多选项可以执行此操作,例如更新您的
Android Studio
(因为较新的版本将使用 17 甚至 21)或仅更新您的 JAVA_HOME
以指向较新的安装。但无论如何,如果您选择此选项,至少使用 JDK 17
分叉
hmssdk_flutter
并以将使用 sourceCompatibility = JavaVersion.VERSION_1_8
和 targetCompatibility = JavaVersion.VERSION_1_8
here 的方式修补它。这是关于如何使用分叉版本的说明。
我确实相信每个人都应该坚持这个答案中的第一个选项,因为 JDK 8 相对较旧并且已被弃用,无论如何你都必须很快更新。