tecnologia react que puedo plataformas para hacer funciona desarrollo desarrollador con arquitectura app aplicaciones javascript facebook reactjs react-native

javascript - que - react para android



React-Native: error de aplicaciĆ³n no registrada (18)

Antes que nada debes iniciar tu aplicación:

react-native start

Luego, debe establecer el nombre de su aplicación como el primer argumento de registerComponent.

Funciona bien.

AppRegistry.registerComponent(''YourProjectName'', () => YourComponentName);

Actualmente estoy revisando los tutoriales React-Native. Comencé con el tutorial de Inicio, donde hice un nuevo proyecto nativo de reacción y logré ejecutar el proyecto con éxito en mi dispositivo.

Luego comencé el tutorial de Props , copié el fragmento de código e intenté ejecutar el proyecto nuevamente y tuve el siguiente mensaje de error en mi pantalla:


Creo que el servidor de nodo se ejecuta desde otra carpeta. Así que mátalo y ejecútalo en la carpeta actual.

Encuentra el servidor de nodo en ejecución: -

lsof -i :8081

Eliminar el servidor de nodo en ejecución: -

kill -9 <PID>

P.ej:-

kill -9 1653

Inicie el servidor de nodo desde la carpeta nativa actual de reacción: -

react-native run-android


Descubrí dónde estaba el problema en mi caso (sistema operativo Windows 10), pero también podría ayudar en Linux (podría intentarlo).

En windows power shell , cuando desea ejecutar una aplicación (la primera vez después del arranque de la PC) ejecutando el siguiente comando,

react-native run-android

Inicia un node process/JS server en otro console panel , y no encuentra este error. Pero, cuando desea ejecutar otra aplicación , debe cerrar la que ya está ejecutando el JS server console panel . Y luego ejecute el mismo comando para otra aplicación desde el power shell , ese comando iniciará automáticamente otro nuevo servidor JS para esta aplicación, y no encontrará este error.

No necesita cerrar y volver a abrir power shell para ejecutar otra aplicación, debe cerrar la node console para ejecutar otra aplicación.


Después de leer todo lo anterior, descubrí que podría haber otra razón para esto.

En mi caso:

reaccionar-nativo-cli: 2.0.1

reaccionar nativo: 0.60.4

y siguiente estructura:

Primero hay que tener en cuenta que index.android no se ha actualizado en Android Studio cuando la construcción se ejecuta por Metro Builder (react-native run-android), por lo que debe hacerse manualmente. También en el estudio de Android no "lee" el

app.json (creado de forma predeterminada junto con index.js, que cambió el nombre de index.android.js):

{ "name": "authApp", "displayName": "authApp" }

y esto como

(en mi caso)

import {authApp as appName} from ''./app.json'';

Porque el estudio de Android no sabe a qué se refiere authApp. Arreglo por el momento refiriéndome al nombre de la aplicación con su nombre de cadena y no usando esa importación desde app.json:

AppRegistry.registerComponent(''authApp'', () => MyApp);


El problema también aparecerá cuando, en index.js, haya nombrado la aplicación de manera diferente al nombre que le dio al paquete android / ios ; probablemente esto sucedió cuando expulsó la aplicación. Así que asegúrese de que al llamar a AppRegistry.registerComponent(''someappname'', () => App) , someappname también se use para los paquetes nativos o viceversa.


En lugar de cambiar el nombre en AppRegistry ,

Ejecute react-native init Bananas, esto creará un código AppRegistry.registerComponent para el proyecto Bananas y AppRegistry.registerComponent apuntará automáticamente a las bananas

AppRegistry.registerComponent(''Bananas'', () => Bananas);


En mi caso, hay una línea en MainActivity.java que se perdió cuando utilicé react-native-rename cli (de NPM)

protected String getMainComponentName() { return "AwesomeApp"; }

Obviamente, debes cambiarle el nombre por el nombre de tu aplicación.


Esto también puede deberse a que el nombre del componente raíz comienza con minúsculas.

Grabarlo o más bien crear el proyecto una vez más con un nombre PascalCase.

Por ejemplo, encender HelloWord nuevo


La mayoría de las veces el problema es que tiene otro servidor de react-native start (es decir, React Native Packager) que se ejecuta en otro terminal u otra pestaña de TMUX (si está usando TMUX).

Debe encontrar ese proceso y cerrarlo, por lo que después de ejecutar react-native run-ios por ejemplo, establecerá un nuevo servidor de empaquetador que se registró para esa aplicación específica.

Simplemente encuentre ese proceso usando:

ps aux | grep react-native

encuentre la identificación del proceso (PID) y elimine el proceso del empaquetador utilizando el comando kill (por ejemplo, kill -9 [PID] ). Debería encontrar la aplicación launchPackager.command en macOS, no estoy seguro acerca de los otros sistemas operativos.

Luego intente ejecutar run-ios (o android) nuevamente. Debería poder ver la nueva ruta después de ejecutar el nuevo servidor de empaquetado, por ejemplo:

Looking for JS files in /Users/afshin/Desktop/awesome-app


Mi solución es cambiar el nombre del módulo en "AppDelegate.m"

desde moduleName:@"AwesomeProject"

a moduleName:@"YourNewProjectName"


Modifique MainActivity esta manera,

@Override protected String getMainComponentName() { return "Bananas"; // here }


Ninguna de las soluciones funcionó para mí. Tuve que matar el siguiente proceso y volví a ejecutar react-native run-android y funcionó.

nodo ./local-cli/cli.js inicio


Supongo que es un error causado por no coincidir el nombre del proyecto y su componente registrado.

Has iniciado un proyecto con un nombre, es decir

react-native init AwesomeApp

Pero en su archivo index.ios.js registra otro componente

AppRegistry.registerComponent(''Bananas'', () => Bananas);

Cuando debe ser

AppRegistry.registerComponent(''AwesomeApp'', () => Bananas);

Intenta arreglarlo.


Todas las respuestas dadas no funcionaron para mí.

Tenía otro proceso de nodo ejecutándose en otra terminal, cerré esa terminal de comando y todo funcionó como se esperaba.


Tuve el mismo problema y para mí la causa raíz fue que ejecuté (react-native start) el empaquetador desde otra carpeta react-native (AwesomeApp), mientras creaba otro proyecto en otra carpeta.

La ejecución del empaquetador desde el directorio de la nueva aplicación lo resolvió.


Verifique su archivo app.json en el proyecto. si no tiene la línea appKey, entonces debe agregarla

{ "expo": { "sdkVersion": "27.0.0", "appKey": "mydojo" }, "name": "mydojo", "displayName": "mydojo" }


Yo tuve el mismo problema. Estaba usando Windows para crear una aplicación nativa de reacción para Android y estaba teniendo el mismo error. Esto es lo que funcionó.

  • Navegue a la carpeta ANDROID en su raíz.
  • Cree un archivo con el nombre: local.properties
  • Ábrelo en el editor y escribe:

sdk.dir = C: / Users / USERNAME / AppData / Local / Android / sdk

  • Reemplace USERNAME con el nombre de su máquina.

Guarde y ejecute la aplicación normalmente. Eso funcionó para mí.


necesita registrarlo en index.android.js / index.ios.js

Me gusta esto:

''use strict''; import { AppRegistry } from ''react-native''; import app from "./app"; AppRegistry.registerComponent(''test'', () => app);