Invoke-Customs n'est pris en charge qu'à partir d'Android 0 --min-api 26 [fermé]

434

avant d'utiliser la version de construction gradle 26 mais après avoir modifié buildtoolsversion en 27 comme cette image : erreur: capture d'écran de génération de gradle

iDea Brains
la source
45
Ne joignez pas de captures d'écran / images avec du code / des messages d'erreur. Publiez le code réel (pertinent) + le message d'erreur.
Robert
1
J'ai commencé à avoir des problèmes similaires lorsque j'ai converti des rappels en ligne en fonctions lambda. Intellj le demandait. Mais le compilateur ne l'aime pas.
Gillis Haasnoot
4
Il est dommage que le PO ne soit pas revenu et ait marqué une réponse comme étant correcte, même s'il y en a une. En fait, tous les trois le sont, selon que vous utilisez java 7, 8 ou 10. En fin de compte, vous devez informer le build du niveau de langue que vous utilisez. Et oui, les captures d'écran sont à peu près illisibles sur la page.
Thomas Carlisle
1
Cela n'a pas fonctionné pour moi. Mais l'ajouter au build.gradle d'un module a fonctionné. Voir le commentaire du 19 décembre de Galley. Le projet est github.com/jrasor/ftc_5197all2019 ; module est TeamCode.
John Rasor

Réponses:

1549

Après des heures de difficultés, je l'ai résolu en incluant les éléments suivants dans app / build.gradle :

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

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

Obakeng Molebatsi
la source
1
Cela semble même être le cas lorsque la version Gradle dit qu'elle a échoué dans un autre module. Si le module A a la déclaration mais pas B, parfois pour moi, il a échoué en A. Après l'avoir ajouté à B, il n'échoue plus
Patrick
82
Les développeurs Android Studio doivent modifier cette description d'erreur. Cela Error: Invoke-customs are only supported starting with Android O (--min-api 26)ne dit rien. Merci beaucoup d'avoir partagé vos conclusions. Vous avez fait gagner du temps aux autres.
Shan Xeeshi
3
Après avoir ajouté la bibliothèque lang apachi commons au projet, j'ai fait face à cette erreur.Après avoir ajouté le code ci-dessus, j'ai corrigé mon erreur.Merci.
Saeid Z
3
Merci mec, tu as sauvé mes heures de lutte.
Noman Shakoor
4
Toujours d'
actualité
47

Si compileOptions ne fonctionne pas, essayez ceci

Désactivez «Instant Run».

Android Studio -> File -> Settings -> Build, Execution, Deployment-> Instant Run-> Désactiver la case à cocher

Roshni Kyada
la source
6
Ceci et seulement cela a fonctionné pour moi. Très ennuyeux car cela semble être un bug dans Android Studio. L'exécution instantanée est une fonctionnalité nécessaire - n'importe qui sait comment résoudre cette erreur et utiliser l'exécution instantanée?
AlexVPerl
2
Instant Run est un grand mal de tête. Je ne peux pas compter le temps que j'ai perdu à cause de cet outil pas si utile pour gagner du temps. J'ai toujours fini par le désactiver sur tous mes projets. Je ne pense pas que ce soit autant nécessaire.
Rubén Viguera
2
J'ai eu ce même problème après la mise à jour vers Android Studio 3.4 et Gradle 5.1. Désactiver Instant Run a fait l'affaire! Merci
Henrique
Cela et seulement cela a fonctionné pour moi aussi. Cette réponse m'a sauvé la vie. Votez pour vous.
dujianchi
2
Cette option n'est pas disponible dans mon Android Studio. Détails - (Android Studio 3.5.1 Build # AI-191.8026.42.35.5900203, construit le 26 septembre 2019 JRE: 1.8.0_202-release-1483-b03 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains sro Windows 10 10.0 )
Nikhil Girraj
25

Dans mon cas, l'erreur était toujours là, car mon système utilisait Java mis à niveau. Si vous utilisez Java 10, modifiez les options de compilation:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_10
    targetCompatibility JavaVersion.VERSION_1_10

}
Nata Sturza
la source
7
attendez .. nous pouvons cibler Java 10 pour le développement Android?
kassim
1
oui @kassim ctrl clickla version pour voir les autres versions
Lucem
18

Si vous avez Java 7, incluez l'extrait de code ci-dessous dans votre niveau d'application build.gradle:

compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7

}
Chirag Patel
la source