首页 > 解决方案 > 为什么 Flutter 构建失败并出现错误无法解析配置“:app:debugRuntimeClasspath”的所有文件

问题描述

我想使用颤振的video_payer api 在我的应用程序中显示来自网络的视频。我升级到最新版本,现在我的应用程序无法构建。正在显示以下错误 -

PBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}

如果此版本的 video_player 或其依赖项与 AndroidX 不兼容,它将破坏您的 Android 构建。有关该问题以及如何解决该问题的更多信息,请参阅。此警告会针对所有 Android 构建失败打印。错误的真正根本原因可能是无关的。****************************************************** ******* AGPBI: {"kind":"error","text":"默认接口方法仅支持从 Android N (--min-api 24) 开始: void com.google.android.exoplayer2 .Player$EventListener.onLoadingChanged(boolean)","sources":[{}],"tool":"D8"} 错误的真正根本原因可能是无关的。****************************************************** ******* AGPBI: {"kind":"error","text":"默认接口方法仅支持从 Android N (--min-api 24) 开始: void com.google.android.exoplayer2 .Player$EventListener.onLoadingChanged(boolean)","sources":[{}],"tool":"D8"} 错误的真正根本原因可能是无关的。****************************************************** ******* AGPBI: {"kind":"error","text":"默认接口方法仅支持从 Android N (--min-api 24) 开始: void com.google.android.exoplayer2 .Player$EventListener.onLoadingChanged(boolean)","sources":[{}],"tool":"D8"}

FAILURE:构建失败并出现异常。

在 dexing 时使用转换 DexingTransform 错误将文件“classes.jar”转换为匹配属性 {artifactType=android-dex, dexing-is-debuggable=true, dexing-min-sdk=16} 失败。该依赖项包含 Java 8 字节码。请通过将以下内容添加到 build.gradle android { compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } 来启用脱糖,详情请参阅https://developer.android.com/studio/write/java8-support.html。或者,将 minSdkVersion 增加到 26 或更高。

在 dexing 时使用转换 DexingTransform 错误将文件“classes.jar”转换为匹配属性 {artifactType=android-dex, dexing-is-debuggable=true, dexing-min-sdk=16} 失败。该依赖项包含 Java 8 字节码。请通过将以下内容添加到 build.gradle android { compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } 来启用脱糖,详情请参阅https://developer.android.com/studio/write/java8-support.html。或者,将 minSdkVersion 增加到 26 或更高。

在 dexing 时使用转换 DexingTransform 错误将文件“classes.jar”转换为匹配属性 {artifactType=android-dex, dexing-is-debuggable=true, dexing-min-sdk=16} 失败。在 dexing 时使用转换 DexingTransform 错误将文件“classes.jar”转换为匹配属性 {artifactType=android-dex, dexing-is-debuggable=true, dexing-min-sdk=16} 失败。

BUILD FAILED in 12s Finished with error: Gradle task assembleDebug failed with exit code 1

我无法弄清楚这个问题。似乎是什么问题?

标签: androidandroid-studioflutterflutter-dependencies

解决方案


在日志中,它说

该依赖项包含 Java 8 字节码。请通过将以下内容添加到 build.gradle android { compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } } 来启用脱糖

如果您使用的是 Java 8,请将以下代码添加到您的 android/app/build.gradle

android {
  ...
  // Configure only for each module that uses Java 8
  // language features (either in its source code or
  // through dependencies).
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

如果它不起作用,请尝试使用 Java 10(在您的情况下)

android {
      ...
      // Configure only for each module that uses Java 8
      // language features (either in its source code or
      // through dependencies).
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_10
        targetCompatibility JavaVersion.VERSION_1_10
      }
    }

您可以在此处找到更多详细信息:https ://developer.android.com/studio/write/java8-support


推荐阅读