Android 错误:当不使用默认接口方法时,仅支持从牛轧糖(--min api 24)开始的默认接口方法

Android 错误:当不使用默认接口方法时,仅支持从牛轧糖(--min api 24)开始的默认接口方法,android,gradle,java-8,java-7,Android,Gradle,Java 8,Java 7,编译libgdx游戏时,我从android studio收到以下错误: Error: Default interface methods are only supported starting with Android N (--min-api 24): com.hgames.core.item.Item com.hgames.core.item.misc.MiscItem.deepClone() 我不明白,因为我没有使用默认的接口方法。我的代码使用JDK1.7编译得很好。此处报告的错误与

编译libgdx游戏时,我从android studio收到以下错误:

Error: Default interface methods are only supported starting with 
Android N (--min-api 24): com.hgames.core.item.Item 
com.hgames.core.item.misc.MiscItem.deepClone()
我不明白,因为我没有使用默认的接口方法。我的代码使用JDK1.7编译得很好。此处报告的错误与以下代码有关:

interface Item {

   Item deepClone()

} 

interface MiscItem extends Item {

  @Override
  MiscItem deepClone()

}
其中没有默认方法。请注意,如果我删除此重写,并在调用站点向MiscItem添加强制转换,编译器将报告下一个错误(同类错误),因为我在许多地方使用此模式。我正在使用gradle,在build.gradle文件中有以下内容:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

defaultConfig {
    minSdkVersion 9
    targetSdkVersion 15
    compileSdkVersion 15
    versionCode 1
}

我不熟悉android studio,因为我通常使用Eclipse,但我切换到android studio将我的游戏移植到android。因此,也许我遗漏了一些愚蠢的东西,但我在任何地方都找不到任何帮助。

正如Commonware所提到的,为了参考,请在build.gradle中的android{…}闭包中为您的应用程序模块添加以下内容以解决问题:

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

您是否尝试过如本文所示使用Java8?是的,它解决了问题,但让我困惑;我需要指定一个高于实际源支持的源兼容性^^^谢谢!