从android 4.2+的应用程序中读取android上所有应用程序的日志

时间:2013-07-31 17:34:12

标签: android logcat android-logcat android-permissions

我相信应用程序可以在android 4.2中读取日志的方式发生了变化。但我想知道我是否可以从当前版本的android的应用程序中读取logcat中的所有日志,包括系统日志?如果是,是否需要一些许可?

2 个答案:

答案 0 :(得分:12)

除非你扎根,否则你不能这样做,因为果冻豆。请参阅此Android bug report和此related discussion。引用:

  

更改是第三方应用程序无法再读取   记录权限,但每个应用程序都可以读取仅包含的日志   他们编写的行,无需任何许可。

     

请记住,访问日志从未成为SDK的一部分,   并且仍然不是SDK的一部分。如果你依赖它,那么,甚至   在此更改之后,您将面临未来破产的风险。 (和   这部分原因归咎于文档丢失,它不属于   SDK,实际上并没有真正的文档来记录它   记录它会使它成为我们没有的SDK的一部分   想。 :p)的

     

另外,我们真的希望开发人员不要将此作为许可证   进一步滥用系统日志并喷出越来越多的东西   从他们的应用程序进入它。对数噪声一直是个问题   Android(不只是第三方应用程序,我们总是很难发货   开源平台没有太多噪音),如果事情继续下去   为了变得更糟,我们可能会进一步改进它   控制它。

编辑:如果您有权访问该设备,那么您可以在那里查看日志,甚至尝试向您的应用授予所述权限:

adb shell pm grant <pkg> android.permission.READ_LOGS

但是对于其他情况,你运气不好(除非你在框架中发现了一个错误)

答案 1 :(得分:4)

是的,你可以。你只需要一个有根设备。