我遵循Firebase Auth UI页面上的步骤,以便使用我的Android应用程序中的Firebase Auth Drop-In解决方案与电话号码验证提供商。我在项目中使用了Crashlytics,并且正在从数字到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;
}
这就是我初始化面料的方式:
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());
但是,当ststontants.debug为true时,我会在gradle同步时遇到以下错误(删除织物init中的数字对象对此问题没有任何影响(:
Error:Execution failed for task ':app:fabricGenerateResourcesDebug'.
> Crashlytics Developer Tools error.
(这是Stacktrace的粘贴(
删除crashlytics依赖性暂时解决了此问题。有依赖性冲突还是这是一个错误?
在我的项目中,我只有 crashlytics.properties 用相应键设置的文件(不是 Fabric.properties file(。我没有错误,直到将此依赖项添加到我的应用程序的模块gradle文件中。
更新:我先前表示,删除了crashlytics依赖性解决了此问题,但实际上是'com.firebaseui:firebase-ui-auth:2.0.1'错误包含在Gradle文件中时会产生错误。
更新2:感谢所有评论的人。在研究堆栈Trace输出时,我发现更具描述性的错误是:
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: @string/twitter_consumer_secret.
我会调查这一点,尽管对我来说似乎很奇怪,该错误是由包含'com.firebaseui的特殊触发的:。
firebase-ui-auth repo已更新,这已经不再是问题了。以下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;
}