Не удается открыть узел устройства после setenforce 0

Я пытаюсь получить данные из файла устройства по пути /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 ответ

Вы не должны выполнять нормальное чтение в фреймбуфере AFAIK.

Вам нужно будет использовать ioctlsys для чтения / записи в него. См. Несколько примеров:

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

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

Другие вопросы по тегам