【问题标题】:‘abstract method not implemented’ on start android app with Crashlytics (Fabric)使用 Crashlytics (Fabric) 启动 android 应用程序时出现“未实现的抽象方法”
【发布时间】:2015-02-27 13:32:11
【问题描述】:

我将 Crashlytics 添加到我的 Android 应用程序(通过 Idea 插件)。

当我的应用启动时,我收到下一个错误:

 java.lang.AbstractMethodError: abstract method not implemented
        at io.fabric.sdk.android.ActivityLifecycleManager$ActivityLifecycleCallbacksWrapper$1.onActivityStarted(ActivityLifecycleManager.java)
        at android.app.Application.dispatchActivityStarted(Application.java:199)
        at android.app.Activity.onStart(Activity.java:1048)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:536)

我完全不明白为什么会这样。也许有人遇到过这个问题?

【问题讨论】:

  • 您声称实现了一个接口,但还没有实现它的方法之一。由于这通常不会通过编译器,因此我怀疑您开发的内容与设备上的内容之间存在版本不匹配,或者 proguard 删除了无法识别为正在使用的内容,您可以通过配置修复。
  • 是的,没错。这里的主要问题是这个错误发生在“Fabric”代码中,可能你是对的,proguard 在其中剥离了一些东西。

标签: android intellij-idea gradle crashlytics


【解决方案1】:

如上所述(由 Chris 提出),proguard 会剔除无法识别为正在使用的东西。它真的剥离了 Crashlytics/Fabric 类。 为了避免这种情况,只需将这些行添加到 proguard 配置文件中:

-keep class com.crashlytics.** { *; }   
-keep class io.fabric.** { *; } 
-dontwarn com.crashlytics.** 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多