Estoy trabajando en MacOS y estoy empezando 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 corro 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 de javac:
javac --version
Resultado:
javac 9.0.1
Alguna idea de como arreglar esto?
react-native
gradle
Xar
fuente
fuente
javac -version
también en la terminal, por favorRespuestas:
En su
PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.properties
archivo, actualice sudistributionUrl
a lo siguiente:Consulte la documentación relacionada con las distribuciones de Gradle
fuente
gradle-4.10-all.zip
Realmente, la forma más rápida de evitar este error es usar JDK 8. Excepto cuando realmente necesita 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 de JDK!
fuente
Asegúrese de que ha
JDK8
instalado y luego fijarJAVA_HOME
enJDK8
por ejemplo:
o use
.bash_*
archivos para establecer esta variablefuente
export JAVA_HOME=$(/usr/libexec/java_home)
Si lo cambia aexport JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
selecciones de la última versión instalada de v8 de Java, y se fija este mismo tema.Luego agregue las siguientes líneas:
Ahora obtenga el archivo para que los cambios anteriores sean efectivos en el shell actual:
fuente
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
solucionó las cosas - ¡Gracias!En MacOS, ejecuté los siguientes comandos:
fuente
Recibí este error, pero para una versión más reciente de Java: 10.0.2.
Para corregir mi error, seguí los pasos mencionados
@Blacktoviche
en este problema de Github: https://github.com/facebook/react-native/issues/17688Cuando abrí la
android
carpeta dentro de mi proyecto a través de Android Studio, se me solicitóAndroid Gradle plugin update recommended
. En ese momento, estaba siguiendo un tutorial un poco desactualizado que me decía que hiciera clicDon't remind me again for this project
.Sin embargo, como se
@Blacktoviche
recomienda en el problema de github vinculado anteriormente, a veces es necesario actualizar el complemento de Gradle. Después de la actualización, también tuve que hacer clicInstall 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 de reacción en el emulador de Android Studio.
¡Espero que esto ayude a alguien!
fuente
---- Diciembre de 2018 --- preste atención --- React Native no funciona con versiones de Java superiores a la 8, por lo que debe desinstalar su
9.0.1
versión. Para hacerlo, ejecute los siguientes comandos:Identifique la carpeta que contiene su versión de Java, luego elimínela
Después de eso, puede descargar e instalar java 8 desde Oracle nuevamente. Consulte la página de descarga de jdk8
fuente
Si está utilizando 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 de reacción en Android Studio. Actualizará las cosas necesarias para usted automáticamente.
fuente
Por lo general, obtengo este error cuando me olvido de compilar el proyecto con Android Studio. Una simple sincronización y actualización de Gradle hará el trabajo.
fuente
Resuelvo esto rebajando mi JDK a 8.
fuente
En Ubuntu, debe ejecutar estas líneas de comando en la terminal:
fuente