所以我使用 ACRA 4.4.0 和所有默认值,并且我的 logcat 字段为空。
我的应用程序有
<uses-permission android:name="android.permission.READ_LOGS" />
权限,这至少应该给我我自己的应用程序日志 https://github.com/ACRA/acra/wiki/AdvancedUsage#wiki-Adding_logcat,_eventlog_or_radiolog_extracts_to_reports since 果冻豆 https://groups.google.com/forum/?fromgroups=#!searchin/android-developers/READ_LOGS/android-developers/6U4A5irWang/8xOi74KfRIYJ.
最后注意:READ_LOG 权限未授予第三方应用程序
从 Android 4.1 (JellyBean) 开始就不再这样了。从这个版本开始,
logcat 仅提供痕迹从您自己的应用程序,无需
允许。 JellyBean logcat 日志由 ACRA 检索,开头为
版本4.3.0b2
所以我做了一个强制日志:
Log.i("mytag" , "message");
ACRA.getErrorReporter().handleException(null);
在模拟器(v4.2)上,我得到了完整的 logcat。 (顺便说一句,这与 JB 施加的 logcat 限制有些矛盾)
但是,在我的设备 v4.2.1 上,logcat 完全是空的。
有人有什么想法吗?
如果您使用电子邮件模式 acra 报告 (mailTo
里面有标签@ReportsCrashes
)不包含 LogCat 字段以减小报告大小。要解决这个问题,您只需要使用 customReportContent 标签。
(在我发现这个之前花了一段时间搜索 - 它写在文档中,只是没有写在提到 LogCat 的部分中)
@ReportsCrashes(formKey = "",
mailTo = "[email protected] /cdn-cgi/l/email-protection",
customReportContent = {ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.STACK_TRACE, ReportField.LOGCAT },
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text
)
注意:我排除了 USER_CONTENT 和 CUSTOM_DATA 字段
Note2: import org.acra.ReportField;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)