如何在没有root用户访问权限的情况下访问Nexus 7上的android日志文件?


9

由于aLogcat现在不再可与Jelly Bean一起使用,如何在没有root用户访问权限或将其附加到计算机的情况下访问设备上的系统日志文件?

已经尝试adb logcat在PC上使用它,并且效果很好,所以我知道很多消息都在记录中。

logcat从Nexus 7上的Android Terminal Emulator中使用时,几乎没有输出,而adb logcatAndroid Terminal Emulator中启动守护程序,但只是说了- waiting for device -而已,没有任何显示。

因此,是否可以在没有root用户访问权限的情况下访问 Nexus 7上的android日志文件?



@Izzy-这个问题的重点是我另一个问题(我在此问题中链接到该问题)中的所有解决方案都需要root用户访问权限。虽然这些解决方案对于已经植根设备的人很有用,但我希望为尚未植根设备的人提供更具体的解决方案。
Mark Booth 2012年

您可能会发现值得一看的PhoneHome
2014年

Answers:


12

否,出于安全原因,无法在没有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版本以及安装的标准应用程序的版本:

  • READ_CONTACTS

  • GET_TASKS –每个启动的活动都列在系统日志中

  • READ_HISTORY_BOOKMARKS –打开新网页是浏览器活动,因此已记录

  • READ_SMS

以下所有解决方案都需要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的日志行。基本上,它现在似乎已被过滤。

我的权限与往常一样。还确认了其他日志收集器应用程序中也发生了同样的事情。


我知道,没有根源是不可能的。为了安全起见。从JellyBean开始,不再需要授予read_logs权限(每个应用程序始终只能查看其自己的日志)。
ce4 2012年

感谢您的编辑和指向xda的链接,我对此进行了集成。
ce4 2012年

感谢您添加该pm grant选项。请注意,正如我现在在其他答案中所说的,如果您不使用捐赠版本的aLogcat,则需要指定一个略有不同的软件包:pm grant org.jtb.alogcat android.permission.READ_LOGS
Mark Booth

被引用的文章确实解释了在某些平台上如何READ_LOGS等于READ_CONTACTS。我猜这意味着某些应用程序会将联系方式数据记录在日志中,但这与并不完全相同READ_CONTACTS。但是我要说的是,这篇论文是以危言耸听的口气写的。
流动

READ_LOGS泄漏的信息不仅仅是联系数据。其中包括用户名,大概的gmail地址,位置,已安装的应用(甚至包括应用使用情况)等等。加:它已被根漏洞利用,用于在ASLR之前的日子从系统守护程序的堆栈转储中读取和提取地址。现在,它们大部分已关闭(4.1±),您可能会获得群体保护(与没有在没有疾病的接种人群中为孩子接种疫苗相比)。问题迫在眉睫,Google做对了。
ce4 2013年

1

我对此感到困惑,尽管它可以解释一些事情。

在nexus7和银河系Nexus上都在豆形软糖上运行相同的应用程序,手机会看到所有应用程序的日志输出,而平板电脑则看不到。这说明它不是软糖,而是它的联系7。支持这一点,我刚刚检查了它们都有不同的内核。这款平板电脑,以及更新的平板电脑。

也许是更新的内核,这意味着日志不会出现。

猜猜我毕竟必须扎根:(


拉斯很有趣,谢谢您提供的额外信息。
Mark Booth 2012年

实际上,现在我已经得到可靠的通知,因为我用来查看日志的应用程序是在拥有ICS时安装在我的计算机上的,因此它保留了查看日志的权限。
Russ Wheeler 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.