Недавно мы обновили учетную запись Crashlytics нашей организации до Fabric, и я пытаюсь заменить старый SDK Crashlytics новым SDK Fabric в наших существующих приложениях. Я следовал инструкциям по миграции, и это было в основном безболезненно, за исключением того, что я теперь получаю ошибку сборки, когда пытаюсь скомпилировать. Рассматриваемая строка, вызывающая ошибку, является вызовом начальной загрузки:
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...)
.
Просто чтобы исключить что-то, конкретно связанное с vararg-характером вызова метода, я также попробовал его с более чем одним набором (например, 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 больше не установлен: