He seguido paso a paso el Getting Started oficial. Comencé con una instalación limpia de Linux e instalé todo lo necesario según la pestaña "Creación de proyectos con código nativo". También he leído la sección de solución de problemas. Ya he creado el proyecto usando la terminal.
Este es el error cuando ejecuto react-native run-android :
Starting JS server... Building and installing the app on the device (cd android && ./gradlew installDebug)... ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 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.htmlNo encuentra JAVA_HOME porque las últimas versiones de Android Studio no requieren que Java esté instalado en el sistema. En su lugar, se utiliza un JRE interno.
Descargo de responsabilidad duplicado : ya he leído esta pregunta . Esto no es lo que quiero. Sé cómo configurar el inicio de Java. Solo quiero ejecutar el proyecto de reacción SIN tener que instalar un Java por separado.
Preguntas:
android con Android Studio? ¿Cómo actualizaría este proyecto después de modificar el código JavaScript de React en la carpeta principal?ventanas 10:
Android Studio -> Archivo -> Otras configuraciones -> Estructura de proyecto predeterminada... -> Ubicación de JDK:
copie la cadena que se muestra, como:
C:\Program Files\Android\Android Studio\jreEn la ventana del directorio del localizador de archivos, haga clic derecho en "Esta PC" ->
Propiedades -> Configuración avanzada del sistema -> Variables de entorno... -> Variables del sistema
haga clic en el botón Nuevo... debajo de Variables del sistema, luego escriba y pegue respectivamente:
.......Nombre de la variable: JAVA_HOME
.......Valor de la variable: C:\Program Files\Android\Android Studio\jre
y presione los botones OK para cerrar.
Algunas instalaciones pueden requerir que JRE_HOME también esté configurado, de la misma manera.
Para verificar, abra una NUEVA ventana de consola negra, luego escriba echo %JAVA_HOME% . Debería recuperar la ruta completa que escribió en la variable del sistema. Windows 10 parece admitir muy bien los espacios en las rutas de los nombres de archivo para las variables del sistema, y no parece necesitar ~tilde eliding.
Responderé mis propias preguntas y responderé a mis compañeros usuarios de Linux:
1- Para apuntar JAVA_HOME al JRE incluido con Android Studio, primero ubique la carpeta de instalación de Android Studio, luego busque el directorio /jre . La ruta completa de ese directorio es lo que necesita para configurar JAVA_PATH (gracias a @TentenPonce por su respuesta ). En Linux, puede configurar JAVA_HOME agregando esta línea a sus archivos .bashrc o .bash_profile files :
export JAVA_HOME=<Your Android Studio path here>/jre Este archivo (uno u otro) es el mismo al que agregaste ANDROID_HOME si estabas siguiendo React Native Getting Started para Linux. Ambos están ocultos de forma predeterminada y se pueden encontrar en su directorio de inicio. Después de agregar la línea, debe volver a cargar el terminal para que pueda recoger la nueva variable de entorno. Así que escribe:
source $HOME/.bash_profileo
source $HOME/.bashrc y ahora puedes ejecutar react-native run-android en esa misma terminal. Otra opción es reiniciar el sistema operativo. Otros terminales pueden funcionar de manera diferente.
NOTA: para que el proyecto se ejecute realmente, debe iniciar un emulador de Android con anticipación o tener un dispositivo real conectado. La forma más fácil es abrir un proyecto de Android Studio ya existente e iniciar el emulador desde allí, luego cerrar Android Studio.
2- Dado que lo que parece hacer react-native run-android es solo esto:
cd android && ./gradlew installDebugDe hecho, puede abrir el proyecto de Android anidado con Android Studio y ejecutarlo manualmente. Los cambios de JS se pueden volver a cargar si habilita la recarga en vivo en el emulador. Escriba CTRL + M (CMD + M en MacOS) y seleccione la opción "Habilitar recarga en vivo" en el menú que aparece (Felicitaciones a @BKO por su respuesta )
Creo que la forma correcta de encontrar el Java interno utilizado por Android Studio es
Esto no requerirá memorizar la carpeta o buscar Java y también estos pasos tomarán en cuenta cualquier cambio futuro en la ubicación de Java por parte del equipo de Android Studio, supongo.