Invoke-Customs są obsługiwane tylko od Androida 0 --min-api 26 [zamknięty]


431

przed skorzystam z wersji kompilacji stopień 26, ale po zmianie buildtoolsversion na 27 jak w przypadku tego błędu obrazu : błąd zrzutu ekranu kompilacji stopnia


45
Nie dołączaj zrzutów ekranu / obrazów z kodem / komunikatem o błędzie. Opublikuj aktualny (odpowiedni) kod + komunikat o błędzie.
Robert,

1
Podobne problemy pojawiły się, gdy przekonwertowałem wbudowane wywołania zwrotne na funkcje lambda. Intellj o to pytał. Ale kompilatorowi się to nie podoba.
Gillis Haasnoot

4
Szkoda, że ​​PO nie wrócił i nie uznał odpowiedzi za poprawną, nawet jeśli taka istnieje. W rzeczywistości wszystkie trzy są, w zależności od tego, czy używasz java 7, 8, czy 10. Podsumowując, musisz poinformować kompilację, jakiego poziomu języka używasz. I tak, czapki na ekranie są prawie nieczytelne na stronie.
Thomas Carlisle,

1
To nie działało dla mnie. Ale dodanie go do build.gradle działało. Zobacz komentarz Galleya z 19 grudnia. Projekt jest github.com/jrasor/ftc_5197all2019 ; moduł to TeamCode.
John Rasor

Odpowiedzi:


1539

Po godzinach zmagań rozwiązałem go, dołączając następujące elementy do 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
Wydaje się, że dzieje się tak nawet wtedy, gdy kompilacja stopni mówi, że zawiodła w innym module. Jeśli moduł A ma deklarację, ale B jej nie ma, czasami dla mnie nie powiodło się w A. Po dodaniu go do B już nie zawiedzie
Patrick

81
Twórcy Androida Studio muszą zmienić ten opis błędu. To Error: Invoke-customs are only supported starting with Android O (--min-api 26)nic nie mówi. Dziękuję bardzo za podzielenie się swoimi odkryciami. Oszczędzasz innym czas.
Shan Xeeshi

3
Po dodaniu biblioteki apachi commons lang do projektu napotkałem ten błąd. Następnie po dodaniu powyższego kodu naprawiłem mój błąd. Dzięki.
Saeid Z

3
Dzięki, człowieku, uratowałeś mi godziny walki.
Noman Shakoor

4
Nadal aktualne w 2020 roku.
danyapd

47

Jeśli compileOptions nie działa, spróbuj tego

Wyłącz „Natychmiastowe uruchamianie”.

Android Studio -> File -> Settings -> Build, Execution, Deployment-> Instant Run-> Wyłącz pole wyboru


6
To i tylko to działało dla mnie. Bardzo denerwujące, ponieważ wydaje się to być błędem w Android Studio. Natychmiastowe uruchomienie jest potrzebną funkcją - ktoś wie, jak rozwiązać ten błąd i skorzystać z natychmiastowego uruchomienia?
AlexVPerl

2
Instant Run to wielki ból głowy. Nie mogę policzyć, ile czasu straciłem z powodu tego nie tak przydatnego narzędzia do oszczędzania czasu. Zawsze kończyłem na wyłączaniu go we wszystkich moich projektach. Nie sądzę, że jest to tak potrzebne.
Rubén Viguera

2
Miał ten sam problem po aktualizacji do Androida Studio 3.4 i Gradle 5.1. Wyłączenie Instant Run załatwiło sprawę! Dzięki
Henrique,

To i tylko to zadziałało dla mnie. Ta odpowiedź ratuje mi życie. Głosuj na ciebie.
dujianchi,

2
Ta opcja nie jest dostępna w moim Android Studio. Szczegóły - (Android Studio 3.5.1 Build # AI-191.8026.42.35.5900203, zbudowany 26 września 2019 r. JRE: 1.8.0_202-release-1483-b03 amd64 JVM: OpenJDK 64-bitowa maszyna wirtualna serwera JetBrains sro Windows 10 10.0 )
Nikhil Girraj

25

W moim przypadku błąd nadal występował, ponieważ mój system używał zaktualizowanej wersji Java. Jeśli używasz Java 10, zmodyfikuj compileOptions:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_10
    targetCompatibility JavaVersion.VERSION_1_10

}

7
czekaj .. możemy celować w Javę 10 dla rozwoju Androida?
Kassim

1
tak @kassim ctrl clickwersja, aby zobaczyć inne wersje
Lucem

17

Jeśli masz wersję Java 7, dołącz poniższy fragment kodu na poziomie aplikacji build.gradle:

compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.