当我将 Android studio 更新到最新版本“Ladybug 2024.2.1”时,每当我在 Android 模拟器或物理手机中运行应用程序时,都会出现错误,此问题显示特定库的错误,但实际上所有库都会出现错误,我知道因为每个库都告诉我有一个错误,我只是尝试删除它,然后再次尝试运行代码。
这是错误:
FAILURE:构建失败并出现异常。
出了什么问题: 任务“:google_sign_in_android:compileDebugJavaWithJavac”执行失败。 无法解析配置“:google_sign_in_android:androidJdkImage”的所有文件。 无法转换 core-for-system-modules.jar 以匹配属性 {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。 JdkImageTransform 执行失败:/Users/zaydahmad/Library/Android/sdk/platforms/android-34/core-for-system-modules.jar。 使用参数 {--module-path /Users/zaydahmad/.gradle/caches/transforms-3/fd4e2b69c2691a24d99d2b3c10c60f94/transformed/output 执行进程 /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/jlink 时出错/temp/jmod --add-modules java.base --output /Users/zaydahmad/.gradle/caches/transforms-3/fd4e2b69c2691a24d99d2b3c10c60f94/transformed/output/jdkImage --disable-plugin 系统模块}
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。 使用 --info 或 --debug 选项运行以获得更多日志输出。 使用 --scan 运行以获得完整的见解。 在 https://help.gradle.org 获取更多帮助。
构建在 9 秒内失败 错误:Gradle 任务 assembleDebug 失败,退出代码为 1
我已将所有库更新到最新版本。 我已经删除了出现该错误的每个库,但它不起作用。
也许这些文件可以帮助您解决问题:
android/app/build.gradle
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
android/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
android/build.gradle
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(":app")
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
该问题来自 Android Studio Ladybug 捆绑了一个与 Flutter 插件生态系统不完全向后兼容的 Java 版本。解决方案是单独安装 Java 版本(例如 Java 17)并配置您的项目以使用它。
使用您选择的方法安装 Java SDK 17(手动或使用运行时管理器,例如 asdf)。
运行此命令,指向安装 Java SDK 17 的位置:
flutter config --jdk-dir <path-to-java-sdk-17-home-directory>
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
// If using Kotlin
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17
}
}
进一步阅读: