无法在set0之后打开设备节点

bjg7j2ky  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(362)

我试图从路径的设备文件中获取一些数据 /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
hjzp0vay

hjzp0vay1#

你不应该在帧缓冲区afaik上正常读取。
你需要使用 ioctl sys调用读取/写入它。参见一些示例:
https://android.googlesource.com/platform/system/extras/+/donut-release/tests/framebuffer/fb_test.c
http://betteros.org/tut/graphics1.php

相关问题