invertase / react-native-firebase

🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
https://rnfirebase.io
Other
11.53k stars 2.19k forks source link

Enabled proguard with only one optional package #1004

Closed patlux closed 6 years ago

patlux commented 6 years ago

Hello,

does anyone have a working project setup with enabled proguard?

I only need the optional messaging package for my project, but receiving errors like:

Warning: io.invertase.firebase.Utils: can't find referenced class com.google.firebase.database.DataSnapshot

How can I fix this errors without to add all optional packages to my project?

Salakar commented 6 years ago

@patlux hmm this looks like it might be us - will get a fix up shortly and will be release as part of v4.0.5

Salakar commented 6 years ago

@patlux this has been pushed - will release to npm shortly. Thanks for the report!

Salakar commented 6 years ago

Published: releases/tag/v4.0.5 - should fix your issue - let me know if you have any other proguard weirdness

patlux commented 6 years ago

@Salakar Thanks for the fast reply. Unfortunately there are some more proguard warnings:

Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find superclass or interface com.google.firebase.auth.FirebaseAuth$AuthStateListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth$19: can't find superclass or interface com.google.firebase.auth.PhoneAuthProvider$OnVerificationStateChangedCallbacks
Warning: io.invertase.firebase.auth.RNFirebaseAuth$2: can't find superclass or interface com.google.firebase.auth.FirebaseAuth$IdTokenListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth$21: can't find superclass or interface com.google.firebase.auth.PhoneAuthProvider$OnVerificationStateChangedCallbacks
Warning: io.invertase.firebase.database.RNFirebaseDatabase$1$1: can't find superclass or interface com.google.firebase.database.Transaction$Handler
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find superclass or interface com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference$1: can't find superclass or interface com.google.firebase.database.ValueEventListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference$2: can't find superclass or interface com.google.firebase.database.ChildEventListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference$3: can't find superclass or interface com.google.firebase.database.ChildEventListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference$4: can't find superclass or interface com.google.firebase.database.ValueEventListener
Warning: io.invertase.firebase.firestore.RNFirebaseFirestore$4$3: can't find superclass or interface com.google.firebase.firestore.Transaction$Function
Warning: io.invertase.firebase.firestore.RNFirebaseFirestoreCollectionReference$2: can't find superclass or interface com.google.firebase.firestore.EventListener
Warning: io.invertase.firebase.firestore.RNFirebaseFirestoreDocumentReference$3: can't find superclass or interface com.google.firebase.firestore.EventListener
Warning: io.invertase.firebase.storage.RNFirebaseStorage$11: can't find superclass or interface com.google.firebase.storage.OnPausedListener
Warning: io.invertase.firebase.storage.RNFirebaseStorage$12: can't find superclass or interface com.google.firebase.storage.OnProgressListener
Warning: io.invertase.firebase.storage.RNFirebaseStorage$13: can't find superclass or interface com.google.firebase.storage.StreamDownloadTask$StreamProcessor
Warning: io.invertase.firebase.storage.RNFirebaseStorage$14: can't find superclass or interface com.google.firebase.storage.OnPausedListener
Warning: io.invertase.firebase.storage.RNFirebaseStorage$15: can't find superclass or interface com.google.firebase.storage.OnProgressListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth$AuthStateListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth$IdTokenListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.UserInfo
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.UserInfo
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.UserInfo
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUserMetadata
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.ActionCodeSettings
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.ActionCodeSettings$Builder
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.PhoneAuthCredential
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.PhoneAuthCredential
Warning: io.invertase.firebase.auth.RNFirebaseAuth: can't find referenced class com.google.firebase.auth.PhoneAuthCredential
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseAuth$AuthStateListener
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$1: can't find referenced class com.google.firebase.auth.FirebaseUser
Warning: io.invertase.firebase.auth.RNFirebaseAuth$10: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$10: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$10: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$10: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$10: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$13: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$13: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$13: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$13: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$14: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$14: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$14: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$14: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$15: can't find referenced class com.google.firebase.auth.FirebaseAuth
Warning: io.invertase.firebase.auth.RNFirebaseAuth$24: can't find referenced class com.google.firebase.auth.ActionCodeResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$24: can't find referenced class com.google.firebase.auth.ActionCodeResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$24: can't find referenced class com.google.firebase.auth.ActionCodeResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$24: can't find referenced class com.google.firebase.auth.ActionCodeResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$24: can't find referenced class com.google.firebase.auth.ActionCodeResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$25: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$25: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$25: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$25: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$25: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$26: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$26: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$26: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$26: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$26: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$27: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$27: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$27: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$27: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$27: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$29: can't find referenced class com.google.firebase.auth.ProviderQueryResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$29: can't find referenced class com.google.firebase.auth.ProviderQueryResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$29: can't find referenced class com.google.firebase.auth.ProviderQueryResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$29: can't find referenced class com.google.firebase.auth.ProviderQueryResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$29: can't find referenced class com.google.firebase.auth.ProviderQueryResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$4: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$4: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$4: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$4: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$4: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$6: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$6: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$6: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$6: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$6: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$8: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$8: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$8: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$8: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.auth.RNFirebaseAuth$8: can't find referenced class com.google.firebase.auth.AuthResult
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfig
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings$Builder
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.config.RNFirebaseRemoteConfig: can't find referenced class com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.database.RNFirebaseDatabase$1$1: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$1$1: can't find referenced class com.google.firebase.database.DataSnapshot
Warning: io.invertase.firebase.database.RNFirebaseDatabase$1$1$1: can't find referenced class com.google.firebase.database.Transaction$Result
Warning: io.invertase.firebase.database.RNFirebaseDatabase$1$1$1: can't find referenced class com.google.firebase.database.Transaction
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$10: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$2: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$3: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$4: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$5: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$6: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$7: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$8: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseReference$CompletionListener
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseError
Warning: io.invertase.firebase.database.RNFirebaseDatabase$9: can't find referenced class com.google.firebase.database.DatabaseReference
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference: can't find referenced class com.google.firebase.database.ValueEventListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference: can't find referenced class com.google.firebase.database.Query
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference: can't find referenced class com.google.firebase.database.ChildEventListener
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference: can't find referenced class com.google.firebase.database.Query
Warning: io.invertase.firebase.database.RNFirebaseDatabaseReference: can't find referenced class com.google.firebase.database.Query

Edit: Salakar: remove a couple of lines from output, was taking forever to scroll to the bottom 😛

Salakar commented 6 years ago

Can I see your MainApplication.java file source?

patlux commented 6 years ago
import android.app.Application;
import com.facebook.react.ReactApplication;
+ import io.invertase.firebase.RNFirebasePackage;
+ import io.invertase.firebase.messaging.RNFirebaseMessagingPackage;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
+          new RNFirebasePackage(),
+          new RNFirebaseMessagingPackage()
      );
    }

    @Override
    protected String getJSMainModuleName() {
      return "index";
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
  }
}

app/build.gradle

dependencies {
    implementation(project(':react-native-firebase')) {
        transitive = false
    }

    // RNFirebase required dependencies
    implementation "com.google.firebase:firebase-core:$project.ext.googlePlayServicesVersion"
    implementation "com.google.android.gms:play-services-base:$project.ext.googlePlayServicesVersion"

   // RNFirebase optional dependencies
    implementation "com.google.firebase:firebase-ads:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-auth:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-config:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-database:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-invites:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-firestore:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-messaging:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-perf:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-storage:$project.ext.googlePlayServicesVersion"
    implementation "com.google.firebase:firebase-crash:$project.ext.googlePlayServicesVersion"

    implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
        transitive = true
    }

    implementation 'me.leolin:ShortcutBadger:1.1.21@aar'
}

What I want:

dependencies {
    implementation(project(':react-native-firebase')) {
        transitive = false
    }

    // RNFirebase required dependencies
    implementation "com.google.firebase:firebase-core:$project.ext.googlePlayServicesVersion"
    implementation "com.google.android.gms:play-services-base:$project.ext.googlePlayServicesVersion"

   // RNFirebase optional dependencies
    implementation "com.google.firebase:firebase-messaging:$project.ext.googlePlayServicesVersion"

    implementation('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
        transitive = true
    }
}
Salakar commented 6 years ago

@patlux I see you still have the optional dependencies listed in your app/build.gradle though - can your try removing them now?

patlux commented 6 years ago

@Salakar I already did that to test the new v4.0.5 release.

E.g.: If I remove the implementation "com.google.firebase:firebase-crash line, the following warnings still exists:

Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash
Warning: io.invertase.firebase.crash.RNFirebaseCrash: can't find referenced class com.google.firebase.crash.FirebaseCrash

or If I remove the line implementation "com.google.firebase:firebase-perf"

Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.FirebasePerformance
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.FirebasePerformance
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.FirebasePerformance
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.FirebasePerformance
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace
Warning: io.invertase.firebase.perf.RNFirebasePerformance: can't find referenced class com.google.firebase.perf.metrics.Trace

I just uploaded a sample project with the same configuration: https://github.com/patlux/RNFirebaseTest Just run yarn run-android:release

patlux commented 6 years ago

Ok, I think I got it.

I just added the following lines to my proguard rules

-dontwarn io.invertase.firebase.auth.**
-dontwarn io.invertase.firebase.config.**
-dontwarn io.invertase.firebase.database.**
-dontwarn io.invertase.firebase.invites.**
-dontwarn io.invertase.firebase.firestore.**
-dontwarn io.invertase.firebase.perf.**
-dontwarn io.invertase.firebase.storage.**
-dontwarn io.invertase.firebase.crash.**
-dontwarn io.invertase.firebase.links.**
-dontwarn io.invertase.firebase.notifications.**

But is that the right way?

btrautmann commented 6 years ago

@patlux using dontwarn is the same as telling proguard "Don't tell me about these issues, but let them exist" so typically this is bad and can lead to runtime crashes. HOWEVER, I think in this case it may be the best approach as long as you're not actually using those dependencies in your project. I added this but removed the dontwarn for firestore because I am using that dependency and have brought it into my native project.

For more info on proguard rules, they actually just had a talk on it at Google I/O '18.

Salakar commented 6 years ago

The below is what seems to work for me, though it's probably not the best solution. I'm not exactly a proguard wizard so some advice would be welcome :)

-keep public class com.google.firebase.* { public *; }
-dontwarn com.google.firebase.**

-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**

# if using notifications from RNFirebase
-keep public class me.leolin.shortcutbadger.* { public *; }
-dontwarn me.leolin.shortcutbadger.**
brianinator commented 6 years ago

@Salakar @patlux I went a step further and added:

-keep public class io.invertase.firebase.* { public *; }
-dontwarn io.invertase.firebase.**

I do share the same concern if this is ideal.

oakis commented 6 years ago

@testshallpasswork I did the same as you, and it should be documented in react-native-firebase docs.

chrisbianca commented 6 years ago

Please feel free to submit a PR to the documentation.

oakis commented 6 years ago

@chrisbianca I have submitted a pull request. https://github.com/invertase/react-native-firebase-docs/pull/74

chrisbianca commented 6 years ago

Thanks @oakis, this is now merged, so I'm closing this issue.

kkusanagi commented 4 years ago

This issue still occur for React native 0.60.5. "react": "16.9.0", "react-native": "^0.60.5", "react-native-firebase": "^5.5.6"

Are we really need to add this proguard rules?

As for older version, don't required. "react": "^16.6.1", "react-native": "^0.59.10", "react-native-firebase": "^5.2.2",

Salakar commented 4 years ago

@kkusanagi please raise a new issue if possible - it's hard to track comments on old closed issues - thanks 👍