Android 5.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。
本文将以用户自定义的内核节点
/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限。
第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_server进程来访问
第二步:打开文件AndroidL/android/external/sepolicy/file_contexts.be
仿照这个文件里的写法,为你的节点定义一个你想要的名字: