Недавно мы обновили учетную запись Crashlytics нашей организации до Fabric, и я пытаюсь заменить старый SDK Crashlytics новым SDK Fabric в наших существующих приложениях. Я следил за the migration instructions, и он был в основном безболезненным, за исключением того, что я получаю ошибку сборки при попытке скомпилировать. Линия в вопросе, который вызывает ошибку является самозагрузка вызова:Ошибка сборки после перехода с 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()
моего подкласса приложения, и это тоже не помогло.
соответствующие разделы 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:[email protected]') {
transitive = true;
}
}
Я также проверил, что ткань плагин не правильно установлен и работает, и что старый Crashlytics плагин больше не устанавливается:
Огонь или нет, вы спасли мое время. – tmho
У меня больше нет jar в моем lib, но я все равно получаю вашу ошибку :( – Jacksonkr
Спасибо, что указал мне в правильном направлении. Для меня это была избыточная зависимость что инструмент переноса не удалялся после добавления aar. Поэтому, если у вас есть: скомпилируйте 'com.crashlytics.android:crashlytics:+' в ваших зависимостях в дополнение к новому, удалите его. – dominicoder