React Native Expo, Intentó usar un módulo de Firebase que no está instalado en su proyecto Android llamando a firebase.app()
En mi proyecto estoy usando React Native Firebase para obtener Analytics y mi proyecto es expo bare flow, simplemente seguí este Documento https://rnfirebase.io/, pero al ejecutar la aplicación obtengo un error como:
backend.js:2173 Posible Rechazo de Promesa no Manejado (id: 3):
Error: Ha intentado utilizar un módulo de Firebase que no está instalado en su proyecto de Android mediante la llamada firebase.app ().
Asegúrese de tener:
1) importado el módulo 'io.invertase.firebase.app.ReactNativeFirebaseAppPackage' en su archivo 'MainApplication.java'.
2) Añadido la línea 'new ReactNativeFirebaseAppPackage()' dentro de la lista de métodos del RN 'getPackages()'.
Consulte http://invertase.link/android para obtener instrucciones completas de configuración.
Error: Ha intentado utilizar un módulo de Firebase que no está instalado en su proyecto de Android mediante la llamada firebase.app ().
Asegúrese de tener:
1) importado el módulo 'io.invertase.firebase.app.ReactNativeFirebaseAppPackage' en su archivo 'MainApplication.java'.
2) Añadido la línea 'new ReactNativeFirebaseAppPackage()' dentro de la lista de métodos del RN 'getPackages()'.
Mi archivo MainApplication.java de Android:
import io.invertase.firebase.app.ReactNativeFirebaseAppPackage; <---agregado para firebase
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfignfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
List<ReactPackage> packages = new PackageList(this).getPackages();
packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));
packages.add(new ReactNativeFirebaseAppPackage()); <---- agregado para firebase
return packages;
}
Archivo package.json:
"@react-native-firebase/analytics": "^13.0.1",
"@react-native-firebase/app": "^13.0.1",
"@types/npm": "^7.19.0",
"apisauce": "^0.15.1",
"base-64": "^0.1.0",
"expo": "~42.0.1",
"expo-blur": "~9.0.3",
"expo-camera": "^11.2.2",
"expo-linear-gradient": "~9.2.0",
"expo-secure-store": "~10.2.0",
"expo-splash-screen": "~0.11.2",
"expo-status-bar": "~1.0.4",
"expo-updates": "~0.8.1",
"native-base": "^2.15.2",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "~0.63.4",
Intenté con el complemento de configuración https://docs.expo.dev/guides/config-plugins/ pero no sirvió, el error no se solucionó.
davy.ai
El mensaje de error sugiere que un módulo de firebase no está instalado en tu proyecto de Android. Para resolver esto, debes importar el módulo
io.invertase.firebase.app.ReactNativeFirebaseAppPackage
en tu archivoMainApplication.java
y agregar la líneanew ReactNativeFirebaseAppPackage()
dentro de la lista de métodosgetPackages()
de React Native.Según la información que proporcionaste, pareciera que ya has añadido el código necesario a tu archivo
MainApplication.java
. Sin embargo, como el error persiste, quizá quieras revisar si has vinculado correctamente las dependencias en tu proyecto.Además, asegúrate de que la versión de los paquetes de Firebase que figuran en tu archivo
package.json
sean compatibles con las otras dependencias de tu proyecto, incluso la versión deexpo
.Si ya has intentado configurar tu proyecto con Config Plugins, quizá quieras verificar si has seguido correctamente las instrucciones. Es posible que haya un error en tu archivo de configuración que esté causando el problema.