READ_LOGS是正常或危险的Android权限吗?

lit*_*now 13 android android-permissions

我收到有关使用android.permission.READ_LOGSAndroid权限的非常矛盾的信息.首先,Android文档网站未指定此权限的保护级别.它既不是正常的,也不是危险的.他们确实指定了以下内容:

"不供第三方应用程序使用,因为日志条目可以包含用户的私人信息."

一些网站表示不会将其用于同样的隐私问题.但是我有一些问题:

  1. 当我在Android 7.1.1(Nexus 5X)和Android 4.4.2(旧的Samsung 8"平板电脑)上的应用程序中测试此权限时,他们都没有提示我该应用程序需要此权限.两者都说应用程序请求"否特殊权限".只有在权限被视为"正常"时才会发生这种情况,在这种情况下会自动授予权限.
  2. 其次,使用此权限,我只能查看与我的应用程序相关的logcat日志,该日志不会记录任何个人信息.因此,我也没有违反任何隐私.我认为此权限可能允许我查看其他应用程序的日志,从而导致隐私问题.

那么,如果是这种情况,那么在应用程序的生产版本中使用此权限是否安全?如果他们可以通过按下按钮向我发送一个logcat,它将帮助我调试用户面临的奇怪错误.

编辑:好的,现在我很困惑.看来我不需要在清单中明确指定此权限.

Com*_*are 13

READ_LOGS是正常或危险的Android权限吗?

都不是.从Android 7.1开始,它就是signature|privileged|development.这基本上意味着作为固件构建的一部分签名或安装在特权分区上的应用程序可以拥有权限,但没有其他任何内容可以.

Android文档网站未指定此权限的保护级别

正确.READ_LOGS仍然在SDK中,出于向后兼容的原因,但是自从五年前推出的Android 4.1以来,普通的应用程序还无法容纳它.

只有在权限被视为"正常"时才会发生这种情况,在这种情况下会自动授予权限.

没有.

我认为此权限可能允许我查看其他应用程序的日志,从而导致隐私问题.

在Android 4.0及更早版本中,它确实如此.

那么在应用程序的生产版本中使用此权限是否安全?

好吧,请记住,应用程序访问LogCat内容从未有过记录和支持的方式.最有可能的是,您正在使用已发布的script-kiddie解决方案之一,例如运行logcat命令并捕获其输出.因此,现在或将来有些设备完全有可能不支持您访问LogCat的特定方法.所以,许可不是你的问题; 缺少支持的LogCat访问API是您的问题.

就个人而言,我会使用日志库将内容记录到文件和LogCat,使用该文件来满足您的应用需要.

  • 感谢您及时的回复。这确实非常令人困惑,但我想我终于明白了。您的回答以及这个:/sf/answers/1175711211/ 为我澄清了这一点。我的用例适合当前场景,因为我只想读取由于任何意外崩溃而由我的应用程序创建的日志。我正在使用这种方法来读取我自己的日志:/sf/answers/1434849531/。我不知道这是否被认为是脚本小子的方法!我的主要困惑来源是需要许可。 (2认同)