Permiso de dispositivo Android NDK open () denegado

En una llamada nativa, estoy tratando deopen("/dev/video4", O_RDWR) pero recibo errno EACCES 13 "permiso denegado".

Si ejecuto el mismo código * en un ejecutable, en el mismo host de Android, como el mismo UID de la aplicación instalada que estoy ejecutando anteriormente, funciona bien. (* diferencias menores comomain() en lugar deJava_com_test_testOpen())

He intentadochmod 666 /dev/video4 y sigo teniendo EACCES, lo cual es especialmente extraño.

¿Por qué elmismo código, sobre elmismo anfitrión, como elmismo usuario, dar EACCESS cuando se llama a través de JNI, y el éxito cuando se llama como ejecutable independiente?

El dispositivo de prueba está rooteado y ejecuta Cyanogenmod 12.1 (API 22) y estoy apuntando a> = API 21 (5.0 Lollipop) en dispositivos rooteados. Gracias por tu ayuda.