Proyecto de la biblioteca de Android con React Native
Actualmente estoy luchando un poco con reaccionar nativo. Lo que quiero tener es un proyecto de biblioteca basado en reaccionar nativo que puedo incluir en algunas de mis aplicaciones.
Lo primero que intenté fue mover todo el código básico de configuración de reacción [1] en un Fragmento dentro de una aplicación existente. Esto funcionó sin problemas.
- "Obtener el paquete JS" Monstruosamente lento
- ¿Cómo hace la interfaz ReadableMap en React-native convertir JS a JAVA?
- Utilizando RxJava para la validación de inicio de sesión de correo electrónico, un observable está emitiendo dos veces
- No se puede reconocer el servidor JS
- Prevención de hardware de nuevo botón android para React Native
Entonces comencé un proyecto completamente nuevo de Android con una actividad vacía. En este proyecto agregué un nuevo módulo de proyecto de la Biblioteca de Android que debería contener el "fragmento nativo de la reacción". Inicialmente, el proyecto reactivo reactivo se reinició en mi carpeta de proyectos raíz.
Mi estructura de proyecto actual se parece a esto:
ReactApplication - basic files (index.android.js, index.ios.js, package.json, build.gradle, settings.gradle) - app/ (contains the real native android app which includes the "react native fragment") - reactlib/ (library project which contains a fragment with the code from [1]) - ios/ - node_modules/ (contains react-native)
Iniciar el dev-server a través de npm start
funciona sin ningún problema, pero tan pronto como inicie la aplicación para Android obtengo las siguientes salidas logcat:
W/unknown:React(26957): Unable to dispatch keyboard events in JS as the react instance has not been attached W/unknown:React(26957): You seem to be running on device. Run 'adb reverse tcp:8081 tcp:8081' to forward the debug server's port to the device. E/(26957): Unable to load script from assets: index.android.bundle E/ReactNative(26957): Got JS Exception: ReferenceError: Can't find variable: require
Tenga en cuenta que hice el adb reverse tcp:8081 tcp:8081
cosa adb reverse tcp:8081 tcp:8081
y el error sigue apareciendo.
Después quiero crear un aar fuera del proyecto de la Biblioteca Android y acceder a él a través de maven.
¿Qué estoy haciendo mal? ¿O es lo que quiero hacer simplemente no es posible?
[1] https://facebook.github.io/react-native/docs/embedded-app-android.html#add-native-code
- Reaccionar-despliegue nativo al error del dispositivo android 3 clase de actividad no existe
- React Native Android - Recursos estáticos que no se muestran
- ¿Cómo obtener un nombre de versión en la aplicación de reactivo nativo en Android?
- ¿Cómo puedo deshabilitar el retroceso en el navegador nativo de la reacción
- Reaccionar Android nativo no se puede cargar JS paquete
- Servicio de fondo en el reactivo-androide nativo
- Reaccionar nativo No soportado major.minor versión 52
- React Native Android imagen local
Después de depurar y probar un par de cosas, pensé que no puede cargar el archivo de paquete del servidor cuando se empaqueta en aar.
Si agrega index.android.bundle en la carpeta de activos de android, empieza a funcionar.
- Registro Xamarin no manejado (Android sin capturar) excepciones
- Maven: Uso de bibliotecas Java 8 en aplicaciones instrumentadas con retrolambda-maven-plugin y DEX-ed con android-maven-plugin