【问题标题】:Logcat empty using ACRA on deviceLogcat 在设备上使用 ACRA 为空
【发布时间】:2013-01-12 09:39:31
【问题描述】:

所以我使用所有默认值的 ACRA 4.4.0,而我的 logcat 字段为空。

我的应用有

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

权限,至少应该给我my own app logs,因为Jelly Bean

最后说明: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 4.2.3 和 4.4.0 在我的 4.2.1 设备上都没有提供任何输出。即使使用 acra @ReportsCrashes 参数也没有区别。非常感谢您的帮助
  • 你能在你的设备上安装 Logcat 吗?我仍然无法得到它。

标签: android logcat acra


【解决方案1】:

我想这是因为从 JellyBean 开始,您不能再使用 READ_LOGS。如需进一步解释,请阅读此处:

http://commonsware.com/blog/2012/07/12/read-logs-regression.html

【讨论】:

  • 好吧,ACRA 作者对拥有应用程序日志另有说明
  • 你能提供一些链接吗?也许是关于向 ACRA 提供自定义日志文件?我怀疑它会在 4.1+ 上读取 logcat 条目,如崩溃转储
  • 如果您从 /system/app 植根/运行,它显然可以读取日志。如果您使用的是 root 方法,则必须从以 root 身份运行的 shell 执行应用程序。这将是应用程序开发人员的责任。 (我是 Log This 的开发者)
  • ACRA wiki 中记录的行为基于以下讨论:groups.google.com/d/msg/android-developers/6U4A5irWang/… - Dianne Hackborn:内核驱动器根据您是否有权访问完整日志来执行此操作。如果没有,它只会为您提供与您的 uid 关联的日志。 由于我没有任何 JellyBeans 设备,因此我仅在 SDK 模拟器上对其进行了测试。
  • @KevinGaudin,是的,据我所知,我应该能够获取我的日志,但我没有。同样,在模拟器上它可以正常工作,但在设备上却不行。
【解决方案2】:

如果您使用电子邮件模式 acra 报告(@ReportsCrashes 内的mailTo 标记),则不包含 LogCat 字段以减小报告大小。要解决这个问题,您只需要使用 customReportContent 标记。

(在我找到这个之前花了一些时间搜索 - 它写在文档中,只是没有在提到 LogCat 的部分中)

@ReportsCrashes(formKey = "",
    mailTo = "xxxx@yyyy.com",
    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 字段

注2:import org.acra.ReportField;

【讨论】:

  • 感谢这对我有帮助,我能够使用 ACRA-4.5.0 向 logcat 发送电子邮件,并在 android 4.1.2 目标(果冻豆)上运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多