3
votes

Android - Impossible de compiler sur JRE - Assurez-vous que Gradle est exécuté sur un JDK, pas sur JRE

Je souhaite compiler mon application à partir de la ligne de commande et non à partir d'Android Studio. Mon application fonctionne parfaitement lorsque je la lance depuis Android Studio sur mon appareil / émulateur, mais lorsque j'essaye de faire:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '11.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

J'obtiens:

gradlew build

Voici ma var d'environnement JAVA_HOME:

JAVA_HOME=C:\Program Files\Java\jdk-11.0.1    

C'est en fait un JRE (et pas un JDK), mais, quand je change mon env var par mon JDK comme suit :

JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_191

Et je lance:

> Task :app:kaptGenerateStubsReleaseKotlin FAILED
Caught an exception trying to connect to Kotlin Daemon
org.gradle.api.GradleException: Kotlin could not find the required JDK tools in the Java installation 'C:\Program Files (x86)\Java\jre1.8.0_191' used by Gradle. Make sure Gradle is running on a JDK, not JRE.
        at org.jetbrains.kotlin.gradle.tasks.JarSearchingUtilKt.findToolsJar(jarSearchingUtil.kt:95)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:23)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:17)
        at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
        ...

Ensuite, j'obtiens:

gradlew build


1 commentaires

J'ai trouvé qu'Android ne peut pas construire avec JDK 11. Cela fonctionne bien avec 8 cependant.


3 Réponses :


1
votes

Il se plaint probablement du fait que vous essayez d'utiliser une version JDK 11 alors que votre gradle n'est compatible que jusqu'à une version JDK inférieure.

La réponse courte serait - téléchargez une version JDK 1.8.quelque chose et essayez avec cela, la réponse alternative (et probablement meilleure à long terme) serait de mettre à jour votre version gradle vers la dernière version (c'est-à-dire une version compatible JDK 11).

EDIT: donc Google dit que vous avez besoin d'un minimum de Gradle 5.0 pour utiliser JDK 11 :)


0 commentaires

2
votes

Vous devez utiliser JDK 8, mais vous utilisez JDK 11.


0 commentaires

-2
votes
  1. Téléchargez Gradle depuis gradle.org OU depuis services.gradle.org
  2. Décompressez le fichier téléchargé dans C://
  3. Mettez à jour le chemin / bin dans Variables d'environnement système Exécutez le programme et vérifiez si le problème est résolu? Continuez ensuite si vous rencontrez toujours les erreurs
  4. Téléchargez Java SE Runtime Environment 8u261 ici
  5. Mettez à jour le chemin / bin dans Variables d'environnement système Cela résoudra le problème. Faites-moi savoir si vous avez toujours des erreurs

1 commentaires

utiliser [résolu] en gras n'est pas la façon dont stackoverflow fait les choses. Pourriez-vous le mettre à jour pour indiquer que cela a fonctionné pour vous?