2015-02-24 4 views
9

Недавно мы обновили учетную запись 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 плагин больше не устанавливается:

Plugins list shown Fabric plugin present, and Crashlytics plugin not present Fabric plugin running

ответ

25

оказывается, что старый Crashlytics JAR еще скрывается в моем libs, и после его удаления эта ошибка больше не сохраняется.

Я чувствую себя немного пронзительным, но я оставлю это, чтобы помочь любым будущим Гуглерам, которые сталкиваются с тем же вопросом. :)

+9

Огонь или нет, вы спасли мое время. – tmho

+0

У меня больше нет jar в моем lib, но я все равно получаю вашу ошибку :( – Jacksonkr

+2

Спасибо, что указал мне в правильном направлении. Для меня это была избыточная зависимость что инструмент переноса не удалялся после добавления aar. Поэтому, если у вас есть: скомпилируйте 'com.crashlytics.android:crashlytics:+' в ваших зависимостях в дополнение к новому, удалите его. – dominicoder

0

Я нашел именно то, что @TreKing упомянул в его комментарии. При обновлении/миграции не удалось удалить предыдущую зависимость из моего файла app/build.gradle. Найдите старую запись, такую ​​как compile 'com.crashlytics.android:crashlytics:1.1.13', и удалите ее.

Смежные вопросы