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.