如何向开发者发送崩溃报告?
Posted
技术标签:
【中文标题】如何向开发者发送崩溃报告?【英文标题】:How to send crash reports to developer? 【发布时间】:2014-04-23 18:43:35 【问题描述】:我开发 android 应用,但在某些情况下我的应用 force close
如果force close
随时发生,我如何向开发人员发送包含详细信息的电子邮件?
【问题讨论】:
您的问题到底是什么?是否要将堆栈跟踪发送给您,因为您是开发人员,您是否正在寻找远程堆栈跟踪? ACRA library 将崩溃报告放入 Google 电子表格中。也许这是电子邮件的可行替代方案? A.S.是的,我想将跟踪发送到我的电子邮件 【参考方案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,例如 BugSence 和 crittercism
实施 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
【讨论】:
以上是关于如何向开发者发送崩溃报告?的主要内容,如果未能解决你的问题,请参考以下文章
如何作为 Android 应用的 alpha 测试人员发送崩溃报告?
Crashlytics 没有向我的 Fabric 仪表板发送崩溃报告?