Не удается открыть узел устройства после 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.
Вам нужно будет использовать
ioctl
sys для чтения / записи в него. См. Несколько примеров:
https://android.googlesource.com/platform/system/extras/+/donut-release/tests/framebuffer/fb_test.c