app调用驱动设备文件添加权限
自Android L版本,Google对源码环境普遍启用SELinux安全访问机制,APP及framework层默认情况下再无权限访问设备节点 可以在dev/下通过命令ll -Z来看权限
ll -Z
./sepolicy/common/file_contexts:65:/dev/nrf u:object_r:nrf_device:s0
./sepolicy/common/device.te:103:type nrf_device, dev_type;
./sepolicy/common/untrusted_app.te:20:allow untrusted_app nrf_device:chr_file { read write open ioctl getattr};
./sepolicy/common/system_server.te:79:allow system_server nrf_device:chr_file rw_file_perms;
./l910/init.target.rc:150: chmod 0666 dev/nrf
./l910/init.target.rc:151: chown system system /dev/nrf
在Android Studio中使用NDK开发JNI遇到CPP找不到函数问题,使用c和h文件结构后解决了。
使用javah -jni 命令生成头文件
当前目录(src/main/java)下
javah -d ../jni com.trultalk.RFIDJNI