Android截屏(ROOT)

时间:2017-02-08 13:41:03

标签: android root selinux seandroid

我正在开发一个应用程序,用于截取root访问权限。 我正在使用此调用来截取屏幕截图:

"/system/bin/screencap -p " + getFilesDir() + "screen.png"

然而,它在根上下文中创建了这个屏幕截图,即使我chmod 777和chown user_id:user_id,我也无法通过我的应用访问它。 SELinux仍然说这个访问被拒绝,因为scontext是u:r:untrusted_app:s0而tcontext是u:object_r:app_data_file:s0。我尝试使用su致电--context u:r:untrusted_app:s0,但它没有帮助。

有关如何执行正确的屏幕捕获调用的任何想法,它会将其保存到应用程序内部存储,然后允许访问应用程序吗?

1 个答案:

答案 0 :(得分:0)

如果您因权限而访问该文件,则可以删除该命令的-p <filename>部分。在这种情况下,创建的图像将通过管道传输到stdout,您的应用程序可以访问该文件。 您只需连接到执行su comand的InputStream Process并将数据自己保存到文件中或在您的应用中使用它。

如果在此处显示,如何阅读Stdout:Read command output inside su process 请注意,在此示例中,提问者想要读取文本,因此接受的解决方案将数据读取到缓冲区并转换为String - 当然您不需要转换,因为PNG文件不是可打印的字符串。 ..