2015-02-24 33 views
9

最近,我们已将组织的Crashlytics帐户升级到Fabric,并试图用我们现有的应用中新的Fabric SDK替换旧的Crashlytics SDK。我遵循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...)方法有效的参数因为某些原因。

只是为了排除某些与方法调用的可变属性特定相关的内容,我还尝试使用多个工具包(例如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文件夹以及删除它后,此错误不再存在。

我觉得有点头疼,但我会留下来帮助未来遇到同样问题的Google员工。 :)

+9

骨头还是没有你救了我的时间欢呼 – tmho 2015-04-16 05:28:07

+0

我没有在我的图书馆罐子了,但我仍然得到你的错误:( – Jacksonkr 2015-06-16 17:02:18

+2

感谢指出我在正确的方向对我来说这是一个多余的依赖在添加aar之后,迁移工具并没有被删除,所以如果你有: 在你的依赖中编译'com.crashlytics.android:crashlytics:+',除了新的,删除它。 – dominicoder 2015-06-16 20:38:42

0

我发现了@TreKing在他的评论中提到的内容。升级/迁移无法从我的app/build.gradle文件中删除以前的依赖项。寻找像compile 'com.crashlytics.android:crashlytics:1.1.13'这样的旧条目并将其删除。