5

J'ai suivi les étapes du Firebase Auth UI page afin d'utiliser la solution d'authentification Firebase auth dans mon application Android avec le fournisseur de vérification du numéro de téléphone. J'utilise Crashlytics dans mon projet et je migration de Digits à Firebase, donc c'est la section pertinente du fichier gradle:Exécution de Firebase-Auth + Firebase-UI avec Crashlytics

// firebase dependencies 
compile 'com.google.firebase:firebase-auth:11.0.1' 
compile 'com.firebaseui:firebase-ui-auth:2.0.1' 
compile 'com.firebase:digitsmigrationhelpers:0.1.1' 
compile 'com.google.android.gms:play-services-auth:11.0.1' 

// crashlytics 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
} 

// digits (to be removed after migration is complete) 
compile('com.digits.sdk.android:digits:[email protected]') { 
    transitive = true; 
} 

Et voilà comment j'initialiser Tissu:

if (Constants.DEBUG) 
    Fabric.with(context, new TwitterCore(authConfig), new Digits.Builder().withTheme(R.style.CustomDigitsTheme).build()); 
else 
    Fabric.with(context, new TwitterCore(authConfig), new Digits.Builder().withTheme(R.style.CustomDigitsTheme).build(), new Crashlytics()); 

Cependant, je reçois l'erreur suivante lors de la synchronisation gradle lorsque Constants.DEBUG est vrai (suppression de l'objet Digits dans le init Fabric n'a pas d'effet sur cette question):

Error:Execution failed for task ':app:fabricGenerateResourcesDebug'. 
> Crashlytics Developer Tools error. 

(Voici le pastebin of the stacktrace)

La suppression de la dépendance Crashlytics résout ce problème temporairement. Y a-t-il un conflit de dépendance ou est-ce un bug?

Dans mon projet, je ne dispose que les crashlytics.properties fichier et avec les touches correspondantes (pas le fabric.properties fichier). Je n'ai pas eu une erreur jusqu'à ce que cette dépendance a été ajoutée au fichier gradle de mon application.

MISE À JOUR: je l'ai déjà déclaré que la suppression de la dépendance Crashlytics résolu ce problème, mais il est en fait le « com.firebaseui: firebase-ui-auth: 2.0.1 » dépendance qui produit l'erreur lorsqu'elle est incluse dans le fichier gradle.

MISE À JOUR 2: Merci à tous ceux qui ont commenté. La recherche sur la sortie de stacktrace je trouve que l'erreur est plus descriptif:

java.lang.IllegalArgumentException: Crashlytics found an invalid API key: @string/twitter_consumer_secret. 

Je vais examiner cela, bien qu'il me semble très étrange que cette erreur est déclenchée notamment par l'inclusion de la « com.firebaseui : firebase-ui-auth: 2.0.1 'dépendance.

+0

Mike de Fabric ici. Pouvez-vous partager votre init Fabric? En outre, avez-vous une logique conditionnelle pour désactiver Fabric pour certaines versions? –

+0

J'utilise Crashlytics, Fabric et Firebase et je n'ai pas ce problème. Peux-tu copier la stacktrace dans pastebin? –

+0

@dekaru Avez-vous défini 'crashlytics.properties' et' fabric.properties'? https://stackoverflow.com/questions/28891325 –

Répondre

1

Le référentiel firebase-ui-auth a été mis à jour et ce n'est plus un problème. L'extrait de build.gradle suivant fonctionne pour moi:

// firebase stuff 
compile 'com.google.firebase:firebase-auth:11.2.0' 
compile 'com.firebaseui:firebase-ui-auth:2.3.0' 
compile 'com.firebase:digitsmigrationhelpers:0.1.1' 
compile 'com.google.android.gms:play-services-auth:11.2.0' 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
}