最近,我们已将组织的 Crashlytics 帐户升级到 Fabric,我正在尝试用我们现有应用程序中的新 Fabric SDK 替换旧的 Crashlytics SDK。我已经按照迁移说明进行了操作,而且基本上没有痛苦,只是我现在在尝试编译时收到了构建错误。导致错误的行是引导调用:
Fabric.with(this, new Crashlytics());
返回的错误是:
Error:(55, 11) error: no suitable method found for with(MyActivity,Crashlytics)
method Fabric.with(Fabric) is not applicable
(actual and formal argument lists differ in length)
method Fabric.with(Context,Kit...) is not applicable
(argument type Crashlytics does not conform to vararg element type Kit)
显然,由于某种原因,new Crashlytics()
它没有被认为是该方法的有效论据。with(Context,Kit...)
只是为了排除与方法调用的可变参数性质特别相关的问题,我还尝试了不止一个工具包(例如Fabric.with(this, new Crashlytics(), new MoPub())
),但仍然返回完全相同的错误。
最后,我尝试将调用移至onCreate()
我的 Application 子类的方法,但这也无济于事。
build.gradle 中的相关部分:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
...
compile('com.crashlytics.sdk.android:crashlytics:2.2.1@aar') {
transitive = true;
}
}
我还验证了 Fabric 插件已正确安装并正常工作,并且不再安装旧的 Crashlytics 插件: