【问题标题】:Is it a good idea to initialize Crashlytics, on android's onCreate method?在 android onCreate 方法中初始化 Crashlytics 是个好主意吗?
【发布时间】:2013-10-02 14:58:35
【问题描述】:

我正在使用 Crashlytics for android,它确实帮助我修复了许多崩溃问题。但是今天我遇到了一个小问题。

当我尝试在 2.3.3 Galaxy S 设备上测试 crashlytics 时,该设备通过 wi-fi(使用代理)连接到互联网,我在设备上看到黑屏大约 2:30 分钟。调试时;我看到Crashlytics.start(this) 代码不是异步的。它等待建立连接,因此 UI 线程无法完成 onCreate 方法。(这解释了黑屏)。

我知道这是一个代理问题(代理设置在 2.3.x 设备上有点错误)但等待大约 2:30 分钟使我的应用程序黑屏。这让我担心,这可能会发生在任何其他现实生活条件下,例如互联网连接不佳。

我将尝试将Crashlytics.start(this) 函数放入异步任务中,并将在每个活动的 onCreate 方法上尝试此操作。 (AFAIK 没有检查 isCrashlyticsInitialized 的方法)

有人对此有更好的想法吗?

提前致谢。

LOGCAT:

 10-02 16:01:38.410: D/Crashlytics(1561): Initializing Crashlytics 0.9.11.11 
 10-02 16:04:19.664: E/Crashlytics(1561): Network error while loading Crashlytics settings. Crashes will be cached until the network is available.
[URL=https://settings.crashlytics.com/api/v2/keys/KEY/platforms/android/apps/com.myapp/settings.json?libVersion=0.9.11.11&bundleVersion=441210&shortBundleVersion=2.1];[class java.net.SocketTimeoutException: Connection timed out]

【问题讨论】:

    标签: android crashlytics


    【解决方案1】:

    来自 Crashlytics 的 Marc。 Crashlytics.start() 在较新版本的 SDK 的后台线程中完成所有繁重的工作。您的日志表明您使用的是 v0.9.11。更新到最新版本 (v1.0.4) 后,您可以将 Crashlytics.start 保留在 Application 子类中。如果您需要任何更新方面的帮助,请通过 crashlytics dot com 的支持联系我们!

    【讨论】:

    • 感谢@Marc,但是 crashlytics 库被 crashlytics 插件自动复制到我项目的 libs 目录中。我已尝试更新您的插件,但据我所知没有更新。从 Eclipse 插件更新站点,您的 download.crashlytics.com/android/eclipse 链接检索到我当前正在使用的 0.9.4 版本。我删除并重新安装了 crashlytics 插件(仍然是 v0.9.4),并尝试将 crashlytics 支持添加到新的示例项目中。复制的 crashlitics jar 的信息是;规范-标题:Crashlytics Android SDK 实施-版本:11 规范-版本:0.9.11
    • 我应该手动查找并复制 crashlytics.jar 吗?如果有,我在哪里可以找到它?
    • 我在 Eclipse 中将此作为 Crashlytics 的软件站点:crashlytics.com/download/eclipse。如果你尝试这个,你仍然只能得到旧版本吗?我刚查了一下,我的版本说是 1.1.0
    • 谢谢@jmrmb80 我回家后试试你的链接(它现在会导致一些错误,我想这是因为我们这里的代理)。
    • @marcr,我们能否保证在“Fabric.with(this, new Crashlytics.Builder().core(core).build());”之后被调用,Crashlytics.getInstance() 会起作用吗?在我看来,由于初始化是异步的,Crashlytics.getInstance() 不能在初始化后立即使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多