3

我试图从/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
4

1 回答 1

1

您不应该在帧缓冲区 AFAIK 上进行正常读取。

您需要使用ioctlsys 调用来读取/写入它。看一些例子:

https://android.googlesource.com/platform/system/extras/+/donut-release/tests/framebuffer/fb_test.c

http://betteros.org/tut/graphics1.php

于 2020-11-24T19:47:04.363 回答