与Crashlytics一起运行Firebase-Auth + Firebase-UI

dek*_*aru 6 android firebase crashlytics firebase-authentication firebaseui

我按照Firebase Auth UI页面上的步骤操作,以便在我的Android应用中使用Firebase auth drop-in解决方案和电话号码验证提供程序.我在我的项目中使用Crashlytics并且我正在从Digits迁移到Firebase,所以这是gradle文件的相关部分:

// 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:2.6.8@aar') {
    transitive = true;
}

// digits (to be removed after migration is complete)
compile('com.digits.sdk.android:digits:2.0.2@aar') {
    transitive = true;
}
Run Code Online (Sandbox Code Playgroud)

这就是我初始化Fabric的方式:

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());
Run Code Online (Sandbox Code Playgroud)

但是,当Constants.DEBUG为true时,我在gradle同步时收到以下错误(删除Fabric init中的Digits对象对此问题没有任何影响):

Error:Execution failed for task ':app:fabricGenerateResourcesDebug'.
> Crashlytics Developer Tools error.
Run Code Online (Sandbox Code Playgroud)

(这是堆栈跟踪的pastebin)

删除Crashlytics依赖项会暂时解决此问题.是否存在依赖冲突,或者这是一个错误?

在我的项目我只有crashlytics.properties文件中设置与相应的键(不是fabric.properties文件).在将此依赖项添加到我的应用程序的模块gradle文件之前,我没有出现错误.

更新:我之前曾说过删除Crashlytics依赖项解决了这个问题,但它实际上是'com.firebaseui:firebase-ui-auth:2.0.1'依赖项,当它包含在gradle文件中时会产生错误.

更新2:感谢评论的每个人.研究堆栈跟踪输出我发现更具描述性的错误是:

java.lang.IllegalArgumentException: Crashlytics found an invalid API key: @string/twitter_consumer_secret.
Run Code Online (Sandbox Code Playgroud)

我将对此进行研究,虽然我觉得这个错误是由于包含'com.firebaseui:firebase-ui-auth:2.0.1'依赖项而特别触发的,这似乎很奇怪.

dek*_*aru 2

firebase-ui-auth 存储库已更新,这不再是问题。以下 build.gradle 片段对我有用:

// 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:2.6.8@aar') {
    transitive = true;
}
Run Code Online (Sandbox Code Playgroud)