如何在 Fabric.io 中初始化 Crashlytics?
Posted
技术标签:
【中文标题】如何在 Fabric.io 中初始化 Crashlytics?【英文标题】:How to initialize Crashlytics in Fabric.io? 【发布时间】: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());解决问题。 【参考方案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 你能帮我解决这个问题吗***.com/questions/33126132/… 我必须在每个活动的 oncreate 方法中添加 Fabric.with(this, new Crashlytics()) 吗??以上是关于如何在 Fabric.io 中初始化 Crashlytics?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中使用 Crashlytics 而不使用 Fabric