我相信应用程序可以在android 4.2中读取日志的方式发生了变化。但我想知道我是否可以从当前版本的android的应用程序中读取logcat中的所有日志,包括系统日志?如果是,是否需要一些许可?
答案 0 :(得分:12)
除非你扎根,否则你不能这样做,因为果冻豆。请参阅此Android bug report和此related discussion。引用:
更改是第三方应用程序无法再读取 记录权限,但每个应用程序都可以读取仅包含的日志 他们编写的行,无需任何许可。
请记住,访问日志从未成为SDK的一部分, 并且仍然不是SDK的一部分。如果你依赖它,那么,甚至 在此更改之后,您将面临未来破产的风险。 (和 这部分原因归咎于文档丢失,它不属于 SDK,实际上并没有真正的文档来记录它 记录它会使它成为我们没有的SDK的一部分 想。 :p)的
另外,我们真的希望开发人员不要将此作为许可证 进一步滥用系统日志并喷出越来越多的东西 从他们的应用程序进入它。对数噪声一直是个问题 Android(不只是第三方应用程序,我们总是很难发货 开源平台没有太多噪音),如果事情继续下去 为了变得更糟,我们可能会进一步改进它 控制它。
编辑:如果您有权访问该设备,那么您可以在那里查看日志,甚至尝试向您的应用授予所述权限:
adb shell pm grant <pkg> android.permission.READ_LOGS
但是对于其他情况,你运气不好(除非你在框架中发现了一个错误)
答案 1 :(得分:4)
是的,你可以。你只需要一个有根设备。