我试图从路径的设备文件中获取一些数据 /dev/graphics/fb0
在服务中,u拥有root权限并执行 chmod 777
命令,然后我得到一个“权限被拒绝”的错误。
然后我执行: setenforce 0
,错误消失,但文件大小仍然为零
RandomAccessFile raf = new RandomAccessFile("/dev/graphics/fb0", "rw");
FileChannel fc = raf.getChannel();
logText.setText(raf.length() + " "); // length is 0
MappedByteBuffer mbb = fc.map(FileChannel.MapMode.PRIVATE, 0, 1024 * 1920 * 4);
raf.close();
FileInputStream fileInputStream = new FileInputStream("/dev/graphics/fb0");
logText.setText(fileInputStream.available() + " "); // available is still 0
1条答案
按热度按时间hjzp0vay1#
你不应该在帧缓冲区afaik上正常读取。
你需要使用
ioctl
sys调用读取/写入它。参见一些示例:https://android.googlesource.com/platform/system/extras/+/donut-release/tests/framebuffer/fb_test.c
http://betteros.org/tut/graphics1.php