web-dev-qa-db-fra.com

React Native error: "Impossible de déterminer la version Java à partir de" 9.0.1 "."

Je travaille sur MacOS et je commence juste avec react-native.

Une des premières étapes à suivre consiste à exécuter: react-native run-Android ou react-native run-ios. Mais je reçois cette erreur:

$ react-native run-Android
Scanning folders for symlinks in /Users/ric/myprojs/albums/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd Android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine Java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/Android-setup.html

C'est ce que je reçois quand je lance Java --version:

$ Java --version
Java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
mbp:albums ric$ Java --version
Java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

ÉDITÉ: C'est ce que je reçois quand je lance javac --version:

$ javac --version
javac 9.0.1

Une idée pour réparer ceci?

82
Xar

Dans le fichier,

PROJECT_PATH/Android/gradle/wrapper/gradle-wrapper.properties

Mettez à jour votre distributionUrl comme suit

distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.Zip
159
Muhammad Adeel

Le moyen le plus rapide de contourner cette erreur est d'utiliser JDK 8. Sauf lorsque vous devez utiliser JDK9. 

http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html

N'oubliez pas de changer votre variable d'environnement Java_HOME à la nouvelle version de JDK! 

24
Xen_mar

assurez-vous que JDK8 est installé, puis définissez Java_HOME dans JDK8.

par exemple:

export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

ou utilisez les fichiers .bash_ * pour définir cette variable

14
bobu

=> vi ~./bash_profile

  1. exporter Android_HOME = $ HOME/Bibliothèque/Android/sdk
  2. export PATH = $ PATH: $ Android_HOME/tools
  3. export PATH = $ PATH: $ Android_HOME/tools/bin
  4. export PATH = $ PATH: $ Android_HOME/platform-tools
  5. export Java_HOME = $ (/ usr/libexec/Java_home -v 1.8)

==================== => Source ~./Bash_profile 

6
sotheng ski

Sur Mac j'ai couru

brew cask uninstall Java
brew tap caskroom/versions
brew cask install Java8
4
Andres Felipe

Je recevais cette erreur, mais pour une version plus récente de Java - 10.0.2.

Pour corriger mon erreur, j'ai suivi les étapes mentionnées par @Blacktoviche dans ce numéro de Github: https://github.com/facebook/react-native/issues/17688

Lorsque j'ai ouvert le dossier Android dans mon projet via Android Studio, j'ai été invité à indiquer Android Gradle plugin update recommended. À l'époque, je suivais un didacticiel légèrement obsolète qui me disait de cliquer sur Don't remind me again for this project.

Cependant, comme @Blacktoviche est recommandé dans le problème github lié ci-dessus, il est parfois nécessaire de mettre à jour le plug-in Gradle. Après la mise à jour, j'ai également dû cliquer sur Install Build Tools 27... and sync project (je ne me souviens pas de la version exacte).

Après avoir suivi ces étapes, j'ai pu exécuter avec succès mon application native Rea sur l’émulateur Android Studio.

J'espère que cela aide quelqu'un!

3

React Native ne fonctionne pas avec les versions de Java supérieures à 8

Donc, vous devez désinstaller votre version 9.0.1

Pour ce faire cd /Library/Java/JavaVirtualMachines/ ls Identifiez le dossier contenant votre version Java .__, puis supprimez-le Sudo rm -rf jdk.x.x_xxx.jdk

Après cela, vous pouvez télécharger et installer à nouveau Java 8 à partir d’Oracle.

http://www.Oracle.com/technetwork/pt/Java/javase/downloads/jdk8-downloads-2133151.html

1
Guilherme Ferreira

Je résous cela en rétrogradant mon JDK à 8.

1
Gurzoni

Vous devriez exécuter ces lignes de commande dans le terminal

$ Sudo add-apt-repository ppa:webupd8team/Java
$ Sudo apt-get update
$ Sudo apt install Oracle-Java8-installer
$ Sudo apt install Oracle-Java8-set-default
1
Thien Nhan Nguyen

Si vous utilisez Windows Assurez-vous d’ajouter votre chemin jdk à la variable de chemin d’environnement. Ensuite, ouvrez votre dossier Android à partir de votre projet natif de réaction dans Android Studio. Il mettra à jour les choses nécessaires pour vous automatiquement.

0
Shaon

Je reçois généralement cette erreur lorsque j'oublie de construire le projet avec Android Studio. Une simple synchronisation et une mise à niveau de Gradle feront le travail.

0
Nick Rameau