【问题标题】:How to send crash reports to developer?如何向开发者发送崩溃报告?
【发布时间】:2014-04-23 18:43:35
【问题描述】:

我开发 android 应用,但在某些情况下我的应用 force close

如果force close 随时发生,我如何向开发人员发送包含详细信息的电子邮件?

【问题讨论】:

  • 您的问题到底是什么?是否要将堆栈跟踪发送给您,因为您是开发人员,您是否正在寻找远程堆栈跟踪?
  • ACRA library 将崩溃报告放入 Google 电子表格中。也许这是电子邮件的可行替代方案?
  • A.S.是的,我想将跟踪发送到我的电子邮件

标签: android crash-reports forceclose


【解决方案1】:

ACRA 库将满足您的要求。您只需要设置电子邮件。教程和设置定义here.

在lib中下载带有.jar的库

你只需要定义Application类并在application类上面写如下代码并像这样重写onCreate()方法

     @ReportsCrashes(formKey = "", // will not be used
                    mailTo = "reports@yourdomain.com",
                    mode = ReportingInteractionMode.TOAST,
                    resToastText = R.string.crash_toast_text)
    public class MyApplication extends Application {

 @Override
    public void onCreate() {
        ACRA.init(this);
        super.onCreate();
    }

}

就是这样。电子邮件操作将被打开,其正文包含崩溃报告。

【讨论】:

  • Arca 是最好的!另外,我要补充一点,您不需要下载罐子。如果使用 gradle,您也可以添加: compile 'ch.acra:acra:4.6.2' (find latest) 到您的 gradle 构建依赖项中。
【解决方案2】:

您可以使用现成的 APi,例如 BugSencecrittercism

实施 SDK 后,您将收到暗恋报告 如果您愿意,可以将暗恋日志记录到您的电子邮件中

对于 BugSance 下载SDK

import com.bugsense.trace.BugSenseHandler;

确保您还添加了该行

 <uses-permission android:name="android.permission.INTERNET" />

到您应用的 AndroidManifest.xml 文件。 BugSense 使用此权限来发送崩溃报告和性能指标。

在 setContentView 之前在您的活动中添加 BugSenseHandler。那么你就准备好了!

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    BugSenseHandler.initAndStartSession(Context, APIKEY);
    setContentView(R.layout.main);
    //rest of your code here
  }

InitAndStartSession 方法安装 BugSense 异常处理程序和性能监视器。然后它会发送所有之前保存的崩溃报告和性能指标。同时,它会为您的活动启动一个新会话。

这是一个如何使用 InitAndStartSession 的示例:

BugSenseHandler.initAndStartSession(MyActivity.this, "YOURAPIKEY");

当你想显式启动会话时,你可以在你的activity的onStart方法中使用startSession方法,如下:

BugSenseHandler.startSession(MyActivity.this);

当你想关闭会话时,可以使用closeSession方法,如下:

BugSenseHandler.closeSession(MyActivity.this);

关闭会话将关闭当前会话,为您的用户提供更好的会话跟踪。

如果要手动刷新所有保存的数据,请使用 BugSenseHandler.flush(Context) 方法:

BugSenseHandler.flush(MyActivity.this);

更多文档Android BugSence Doc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    相关资源
    最近更新 更多