最近、組織の Crashlytics アカウントを Fabric にアップグレードしました。既存のアプリで古い Crashlytics SDK を新しい Fabric SDK に置き換えようとしています。私は移行手順に従いましたが、コンパイルしようとするとビルド エラーが発生することを除けば、ほとんど問題はありませんでした。エラーの原因となっている問題の行は、ブートストラップ呼び出しです。
Fabric.with(this, new Crashlytics());
The error that's being returned is:
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 プラグインがインストールされていないことも確認しました。