Ошибка: методы интерфейса по умолчанию поддерживаются только начиная с Nougat (--min-api 24), когда они НЕ используются - PullRequest
0 голосов
/ 18 декабря 2018

Я получаю следующую ошибку от android-studio при компиляции моей игры libgdx:

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,Так что, может быть, я что-то упустил, но нигде не смог найти никакой помощи.

1 Ответ

0 голосов
/ 14 июня 2019

Как упомянул CommonsWare, для справки добавьте это в закрытие android {...} в build.gradle для вашего модуля приложения для решения проблемы:

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