【发布时间】:2020-06-09 06:18:15
【问题描述】:
编辑
感谢 F43nd1r,解决方案是将 LOGCAT 放入您的 ReportsCrashes 注释中,例如
@ReportsCrashes (
mailTo = "log@perinote.com",
mode = ReportingInteractionMode.TOAST,
customReportContent = {ReportField.ANDROID_VERSION,
ReportField.STACK_TRACE,
ReportField.LOGCAT},
resToastText = R.string.crash_toast_text
)
原帖
我正在试用 ACRA,并希望它能够捕获堆栈跟踪和 logcat。目前,我已将其配置为调用我的电子邮件应用程序来发送数据。崩溃时,它会显示一个 toast 并打开电子邮件应用程序,其中包含消息正文中的堆栈跟踪。但是,没有 logcat。
据我所知,当我将 READ_LOGS 权限放入清单时,它应该在报告中包含 logcat 的最后 200 行。
我正在 Android 7.0 设备上进行测试。
清单:
<manifest package="com.perinote.crashtest"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<application
...
</application>
</manifest>
包 com.perinote.crashtest;
import ...;
@ReportsCrashes (
mailTo = "log@perinote.com",
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text
)
public class AppSubclass extends Application
{
@Override
protected void attachBaseContext(Context base)
{
super.attachBaseContext(base);
ACRA.init (this);
}
}
我认为我的任何其他文件都不相关,但如果您需要更多信息,请告诉我。
【问题讨论】:
-
Nitpick:未使用 READ_LOGS。你必须有系统签名才能使用它