Android屏幕截图和Screencap权限

时间:2013-07-21 15:27:00

标签: android linux permissions screenshot adb

我正在尝试以root身份登录adb屏幕,我收到“权限被拒绝”错误。

screenshot -i /sdcard/screen.png
error: writing file /sdcard/screen.png: Permission denied

但是如果我使用 screencap 就可以了。

screencap -p /sdcard/screen.png

为什么会这样?

2 个答案:

答案 0 :(得分:2)

根据source code screenshot在写入文件之前将UID设置为AID_SHELL(shell用户):

/* switch to non-root user and group */
gid_t groups[] = { AID_LOG, AID_SDCARD_RW };
setgroups(sizeof(groups)/sizeof(groups[0]), groups);
setuid(AID_SHELL);

png = fopen(outfile, "w");
if (!png) {
    fprintf(stderr, "error: writing file %s: %s\n",
            outfile, strerror(errno));
    exit(1);
}

答案 1 :(得分:0)

您只需修改目录' / sdcard'

的属性
 chmod 777 /sdcard

这适用于我的手机。