最近,我们已经将我们组织的Crashlytics帐户升级到Fabric,而我正在使用现有应用程序中的新Fabric SDK替换旧的Crashlytics SDK.我已经遵循了
the migration instructions,而且大部分都是无痛的,只是当我尝试编译时,我正在收到一个构建错误.引起错误的问题是引导调用:
- 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)
显然,由于某种原因,新的Crashlytics()不被认为是与(Context,Kit …)方法有效的参数.
只是为了排除与方法调用的vararg性质有关的东西,我也尝试使用多个工具包(例如Fabric.with(这是新的Crashlytics(),新的MoPub())),并且完全相同的错误是还是回来了
最后,我尝试将调用移到我的Application子类的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:2.2.1@aar') {
- transitive = true;
- }
- }