Invoke-таможня поддерживается только начиная с Android 0 --min-api 26 [закрыто]

434

до того, как я использую версию сборки Gradle 26, но после изменения buildtoolsversion на 27, как это изображение : ошибка сборки скриншота gradle

Идея Мозги
источник
45
Не прикрепляйте скриншоты / изображения с кодом / сообщениями об ошибках. Опубликовать актуальный (соответствующий) код + сообщение об ошибке.
Роберт
1
Я начал получать подобные проблемы, когда я преобразовал встроенные обратные вызовы в лямбда-функции. Интелль спрашивал это. Но компилятору это не нравится.
Джиллис Хааснот
4
Обидно, что ФП не вернулся и пометил ответ как правильный, хотя он и есть. На самом деле, все три, в зависимости от того, используете ли вы Java 7, 8 или 10. Суть в том, что вам нужно сообщить сборке, какой уровень языка вы используете. И да, заглавные буквы экрана практически не читаются на странице.
Томас Карлайл
1
Это не сработало для меня. Но добавление его в build.gradle модуля сработало. См. Комментарий Галлея от 19 декабря. Проект github.com/jrasor/ftc_5197all2019 ; Модуль TeamCode.
Джон Расор

Ответы:

1550

После нескольких часов борьбы я решил эту проблему, добавив в app / build.gradle следующее :

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

https://github.com/mapbox/mapbox-gl-native/issues/11378

Обакенг Молебатси
источник
1
Это даже похоже на тот случай, когда сборка gradle говорит, что в другом модуле произошел сбой. Если у модуля A есть объявление, а у B нет, иногда для меня это не сработало в A. После того, как я добавил его в B, оно больше не выходит из строя
Патрик
82
Разработчики Android Studio должны изменить это описание ошибки. Это Error: Invoke-customs are only supported starting with Android O (--min-api 26)ничего не говорит. Большое спасибо за то, что поделились своими выводами. Вы сэкономили время других.
Шань Ксиши
3
После того, как я добавил apachi commons lang library в проект, я столкнулся с этой ошибкой. Затем, после добавления вышеуказанного кода, исправил мою ошибку. Спасибо.
Саид З
3
Спасибо, парень, ты спас мои часы борьбы.
Номан Шакур
4
Все еще актуален в 2020 году.
danyapd
47

Если compileOptions не работает, попробуйте это

Отключить «Мгновенный запуск».

Android Studio -> File -> Settings -> Build, Execution, Deployment-> Instant Run-> Отключить флажок

Рошни Кяда
источник
6
Это и только это сработало для меня. Очень раздражает, так как это похоже на ошибку в Android Studio. Мгновенный запуск - необходимая функция. Кто-нибудь знает, как устранить эту ошибку и использовать мгновенный запуск?
AlexVPerl
2
Instant Run - большая головная боль. Я не могу сосчитать, сколько времени я потерял из-за этого не очень полезного инструмента для экономии времени. Я всегда заканчивал тем, что отключил это на всех моих проектах. Я не думаю, что это так необходимо.
Рубен
2
Возникла такая же проблема после обновления до Android Studio 3.4 и Gradle 5.1. Отключение Instant Run сделало свое дело! Спасибо
Энрике
Это и только это работало для меня тоже. Этот ответ спас мне жизнь. Голосуй за тебя.
dujianchi
2
Эта опция недоступна в моей Android Studio. Подробности - (Android Studio 3.5.1, сборка # AI-191.8026.42.35.5900203, построена 26 сентября 2019 г. JRE: 1.8.0_202-release-1483-b03 amd64 JVM: 64-битная виртуальная машина OpenJDK от JetBrains sro, Windows 10, 10.0 )
Нихил Гиррай
25

В моем случае ошибка все еще была, потому что моя система использовала обновленную Java. Если вы используете Java 10, измените compileOptions:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_10
    targetCompatibility JavaVersion.VERSION_1_10

}
Ната Стурза
источник
7
подождите .. мы можем нацелить Java 10 для разработки Android?
Касим
1
да @kassim ctrl clickверсия, чтобы увидеть другие версии
Lucem
18

Если у вас есть Java 7, включите приведенный ниже фрагмент на уровне приложения build.gradle:

compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}
Чираг Патель
источник