【问题标题】:How to initialize Crashlytics in Fabric.io?如何在 Fabric.io 中初始化 Crashlytics?
【发布时间】:2014-12-19 13:19:02
【问题描述】:

寻求帮助。我刚刚将我的 android 应用程序升级到了 fabric,现在该应用程序在这一行给出了一个错误:

Crashlytics.start(getApplicationContext());

Gradle: error: cannot find symbol method start(Context)

我尝试注释掉该行,但没有记录崩溃。如何在新的结构框架中初始化 Crashlytics?我错过了什么吗?

提前感谢您的帮助。

【问题讨论】:

  • Fabric 在启动器活动中注入了这行代码,而没有从应用程序文件中删除之前的代码。因此所有的混乱。从您的 ptoject 中删除此行:Crashlytics.start(getApplicationContext());解决问题。

标签: android crashlytics twitter-fabric


【解决方案1】:

在最新版本中,初始化由 ContentProvider 自动完成 https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android

 import com.google.firebase.crashlytics.FirebaseCrashlytics

// ...

// Explicit initialization of Crashlytics is no longer required.

// OPTIONAL: If crash reporting has been explicitly disabled previously, add:
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true)

【讨论】:

    【解决方案2】:

    由于 Crashlytics 现在是 Fabric 的一部分,因此初始化过程发生了变化,但仍然很简单。您现在应该使用而不是使用 Crashlytics.start(),但是在 应用程序创建 中:

    public class App extends Application {
    
        ...
    
        @Override
        public void onCreate() {
            super.onCreate();
            Fabric.with(this, new Crashlytics());
        }
    
        ...
    
    }
    

    如需更丰富的示例,请查看 Cannonball 规范示例应用的表现:

    public class App extends Application {
    
        ...
    
        private TwitterAuthConfig authConfig;
    
        ...
    
        @Override
        public void onCreate() {
            super.onCreate();
            authConfig = new TwitterAuthConfig(BuildConfig.CONSUMER_KEY, BuildConfig.CONSUMER_SECRET);
            Fabric.with(this, new Crashlytics(), new Twitter(authConfig), new MoPub());
        }
    
        ...
    
    }
    

    此代码位于:https://github.com/twitterdev/cannonball-android/blob/master/app/src/main/java/io/fabric/samples/cannonball/App.java#L96-L98

    【讨论】:

    • 您从何处获得此信息?在官方文档中没有找到任何关于它的信息。
    • @akhyar 可能是他们在 Twitter 会议上发布 Fabric 的炮弹示例应用程序
    • 我以后可以(在 Fabric.with(this, new Crashlytics()); 调用之后)像这样使用:Crashlytics.setString("key", "value"); ???
    • @Luis Cipriani 你能帮我解决这个问题吗stackoverflow.com/questions/33126132/…
    • 我必须在每个活动的 oncreate 方法中添加 Fabric.with(this, new Crashlytics()) 吗??
    猜你喜欢
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多