gpt4 book ai didi

android - ACRA 不发送 logcat

转载 作者:搜寻专家 更新时间:2023-11-01 09:34:43 24 4
gpt4 key购买 nike

编辑

归功于 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 权限放入 list 中时,它应该在报告中包含最后 200 行 logcat。

我正在 Android 7.0 设备上进行测试。

list :

<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);
}
}

我认为我的任何其他文件都不相关,但如果您需要更多信息,请告诉我。

最佳答案

Including a full report could be quite difficult due to the data size. Default fields included in email reports are:

  • ReportField.USER_COMMENT
  • ReportField.ANDROID_VERSION
  • ReportField.APP_VERSION_NAME
  • ReportField.BRAND
  • ReportField.PHONE_MODEL
  • ReportField.CUSTOM_DATA
  • ReportField.STACK_TRACE

来源:Sending Reports by Mail

因此,如果您想要包含 logcat,则必须修改报告字段以包含 ReportField.LOGCAT。


请注意,从 ACRA 4.9.3(未发布)开始,您可以将报告作为邮件附件而不是正文发送,因此大小不再是问题。在此之前,包括 logcat 可能会导致无法发送的报告(因为它们可能会超出邮件提供商施加的字符限制)。


以上答案仅适用于 ACRA 4.x。在 ACRA 5.x 中,所有发件人的默认配置都相同,并且确实包括 logcat。

关于android - ACRA 不发送 logcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44296991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com