react native - react - Reaccionar error nativo: "No se pudo determinar la versión de Java desde ''9.0.1''".
react native git (11)
Estoy trabajando en MacOS y recién comenzando con
react-native
.
Uno de los primeros pasos para comenzar es ejecutar:
react-native run-android
o
react-native run-ios
.
Pero recibo este error:
react-native run-android
Resultado:
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
Esto es lo que obtengo cuando ejecuto
java --version
:
java --version
Resultado:
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)
Editar
Mi versión javac:
javac --version
Resultado:
javac 9.0.1
Alguna idea de como arreglar esto?
Asegúrese de tener instalado
JDK8
y luego configure
JAVA_HOME
en
JDK8
por ejemplo:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
o use archivos
.bash_*
para establecer esta variable
En MacOS, ejecuté los siguientes comandos:
brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"
En Ubuntu, debe ejecutar estas líneas de comando en la 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
En su
archivo
PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
, actualice su
distributionUrl
a lo siguiente:
distributionUrl=https/://services.gradle.org/distributions/gradle-5.0-all.zip
Ver documentación relacionada con distribuciones de gradle
Estaba recibiendo este error, pero para una versión más reciente de Java - 10.0.2.
Para corregir mi error, seguí los pasos mencionados por
@Blacktoviche
en este número de Github:
https://github.com/facebook/react-native/issues/17688
Cuando abrí la carpeta de
android
dentro de mi proyecto a través de Android Studio, se me
Android Gradle plugin update recommended
.
En ese momento, estaba siguiendo un tutorial un poco desactualizado que me decía que hiciera clic en
Don''t remind me again for this project
.
Sin embargo, como
@Blacktoviche
recomendó en el problema de github vinculado anteriormente, a veces es necesario actualizar el complemento Gradle.
Después de actualizar, también tuve que hacer clic en
Install Build Tools 27... and sync project
(no recuerdo la versión exacta).
Después de seguir estos pasos, pude ejecutar con éxito mi aplicación nativa react en el emulador de Android Studio.
¡Espero que esto ayude a alguien!
Por lo general, aparece este error cuando me olvido de construir el proyecto con Android Studio. Una simple sincronización y actualización de Gradle hará el trabajo.
React Native no funciona con versiones de Java superiores a 8, por lo que debe desinstalar su versión
9.0.1
.
Para hacerlo, ejecute los siguientes comandos:
cd /Library/Java/JavaVirtualMachines/
ls -l
Identifique la carpeta que contiene su versión de Java, luego quítela
sudo rm -rf jdk.x.x_xxx.jdk
Después de eso, puede descargar e instalar Java 8 desde Oracle nuevamente. Consulte la página de descarga de jdk8
Realmente, la forma más rápida de evitar este error es usar JDK 8. Excepto cuando realmente necesite usar JDK9.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
¡No olvide cambiar su variable de entorno JAVA_HOME a la nueva versión JDK!
Resuelvo esto bajando mi JDK a 8.
Si estás usando windows; Asegúrese de agregar su ruta jdk a la variable de ruta del entorno. Luego, abra su carpeta de Android desde su proyecto nativo react en el estudio de Android. Actualizará las cosas necesarias para usted automáticamente.
vi ~/.bash_profile
Luego agregue las siguientes líneas:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
Ahora obtenga el archivo para que los cambios anteriores sean efectivos en el shell actual:
source ~/.bash_profile