否,出于安全原因,无法在没有root用户访问权限的情况下访问Nexus 7(或其他任何运行Jelly Bean或更高版本的设备)上的android日志文件。Google通过Jelly Bean改变了这一点。
我建议您等到logcat阅读器(如aLogCat)之类的问题得到解决(即,他们需要root用户访问权限才能显示所有日志)。
来自AISEC-TR-2012-001-Android-OS-Security.pdf-3.3 Android权限模型:
READ_LOGS权限可以在许多设备上替换以下内容,具体取决于Android版本以及安装的标准应用程序的版本:
以下所有解决方案都需要root访问权限:
您需要以root用户身份在shell中运行logcat或通过shell pm命令手动授予它(需要root用户)也可以工作(请参阅XDA,与应用程序的pkg名称交换org.jtb.alogcat.donate):
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
这是针对那些懒惰的人,不建议这样做:如果您绝望,粗心和懒惰,则可以通过应用此丑陋且不安全的 hack(通过twitter的Chainfire)为每个应用授予READ_LOGS权限来解决此问题:
chmod 04755 /system/bin/logcat
引用CyanogenMod开发人员Koushik Dutta的G + 帖子:
JellyBean中的Android Log权限/行为是否发生了变化?
看来,如果应用程序现在运行“ logcat”,则只能看到其UID创建的日志条目。未显示来自其他UID的日志行。基本上,它现在似乎已被过滤。
我的权限与往常一样。还确认了其他日志收集器应用程序中也发生了同样的事情。