为什么 Android 截屏需要 root 权限

 我来答
8558892
2017-04-03 · TA获得超过494个赞
知道小有建树答主
回答量:599
采纳率:79%
帮助的人:263万
展开全部

android 截屏为什么需要root权限?

【主要原因】

andorid系统在调用截图功能的时候一般会调用命令的形式去截屏,而这些命令在普通用户权限下是没办法执行的,必须是在root用户权限下才能进行截屏。

【主要实现方式和原因】

  1. 传统截屏方式,采用读取 framebuffer 的方式实现截屏,需要root权限,Android 3.0 以前android sdk提供的截屏方式。

  2. SurfaceFlinger 方式截屏,在 Android 4.0 里提供的一种解决方案,改方案需要系统级权限READ_FRAMEBUFFER 权限,由于是系统权限也必须是root的权限下才可以进行截屏

  3. 由于目前大多数android开发的基础版本都是在4.0的基础上开发,所以会看到很多第三方的截屏软件截屏需要在root的权限下才能进行截屏。



另外

并不是所有的截屏都必须需要root的权限,其实在众多截屏方案中还有一种截屏方案不需要root权限也可以截图。

主要实现方式

  1. Android 截屏 -- ddms方式。

实现原理

主要是通过执行adb shell命令的形式进行截屏。而调用这些命令会实际上也要系统权限,但是这个方法特殊的地方就在他其实是通过adb shell进行截图的时候把命令个了设备上的 adbd 守护进程,而这个进程间接的启动了screencap,也就是开启了上面的方法二中的SurfaceFlinger 截屏方式的后段截屏步奏,所以导致不需要root权限进行截屏。

其中:

adbd 是以 shell 用户执行的, 而系统为 shell 用户分配 graphics 组,所以 shell 用户是有权限调用 surfaceflinger 的接口的。

【最后】

推荐使用不需要root权限截屏的方案。

Evil上善若水
2017-03-20 · TA获得超过121个赞
知道答主
回答量:145
采纳率:0%
帮助的人:40.7万
展开全部
一般手机都是同时按音量键-和灭屏键截屏
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式