web-dev-qa-db-fra.com

Impossible de déterminer la version Java à partir de '11 .0.1 'avec "npm run Android"

J'essaie de réagir en natif sous Windows 10. Lorsque j'exécute NPM sous Android, j'obtiens l'erreur suivante. 

Démarrage du serveur JS ... Création et installation de l'application sur l'appareil (cd Android & gradlew.bat installDebug) ...

ECHEC: La construction a échoué avec une exception.

  • Qu'est-ce qui a mal tourné: Impossible de déterminer la version Java à partir de '11 .0.1 '.

  • Essayez: Exécutez-le avec l'option --stacktrace pour obtenir le suivi de la pile. Exécutez-la avec l'option --info ou --debug pour obtenir davantage de sorties de journal. Exécuter avec --scan pour obtenir des informations complètes.

  • Obtenez plus d'aide sur https://help.gradle.org Impossible d'installer l'application sur l'appareil, lisez l'erreur ci-dessus pour plus de détails . Assurez-vous qu'un émulateur Android est en cours d'exécution ou qu'un appareil connecté et que ait configuré votre environnement de développement Android: https://facebook.github.io/react-native/docs/getting-started.html

3
Varghese Thomas

Assurez-vous que vous avez défini les chemins nécessaires pour Android et Java dans votre shell.

Java_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
Android_HOME=/Users/username/Library/Android/sdk
Android_NDK_HOME=/Users/username/Library/Android/sdk/ndk-bundle

De plus, il arrive parfois que les versions natives de Réaction soient mélangées avec les versions de Java. Il n'est donc pas recommandé d'utiliser Java SDK 11 pour l'instant. Il est donc préférable d'utiliser Java 8, version plus stable.

Essayez de désinstaller Java SDK 11 et d'installer Java 8, puis mettez à jour vos chemins d'accès dans votre configuration Shell afin de les faire correspondre aux emplacements appropriés, puis réessayez et votre application devrait fonctionner comme prévu.

Si vous avez installé Java via homebrew, essayez:

brew cask uninstall Java
brew tap caskroom/versions
brew cask install Java8

Et tu as fini.

Si vous l'avez installé directement, essayez rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk pour le supprimer, puis téléchargez Java 8 directement ou via homebrew (recommandé).

3
bntzio

TL; DR Rétrograder votre version de Java à Java 8.

Entre Java 9 et Java 11, le format de la version Java a changé, ce qui a entraîné une rupture de Gradle.

Gradle comme les versions 1.x:

Comme j'ai testé:

λ ~/m-demo/ master jenv versions
  system
  11.0
  11.0.1
  1.8
* 1.8.0.191 (set by ~/.jenv/version)
  openjdk64-11.0.1
  openjdk64-1.8.0.191
1
Ali Ben Messaoud

Android ne supporte parfois pas la dernière version de Java.

Je recommanderai l’utilisation de Java 8, qui est la version la plus stable pour Android.

-

Suivez le lien pour installer le JDK et mettre à jour Java_HOME à nouveau.

https://docs.Oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/

(Ignorez le titre à l'intérieur du lien, suivez simplement les étapes en bas)

0
Allen Wang