【发布时间】:2011-09-08 21:42:50
【问题描述】:
我正在为嵌入式 android 编写一个字符设备驱动程序。 设备模块,将自身注册为 char 设备,并在 /dev 下创建对应的设备节点。问题是这个设备的访问权限是root的,我无法从android应用程序(JNI)中读取它。在运行应用程序之前,我必须手动“chmod +r”设备。如何确定动态创建的设备节点的访问权限?
【问题讨论】:
标签: android-ndk linux-device-driver
我正在为嵌入式 android 编写一个字符设备驱动程序。 设备模块,将自身注册为 char 设备,并在 /dev 下创建对应的设备节点。问题是这个设备的访问权限是root的,我无法从android应用程序(JNI)中读取它。在运行应用程序之前,我必须手动“chmod +r”设备。如何确定动态创建的设备节点的访问权限?
【问题讨论】:
标签: android-ndk linux-device-driver
如果您的设备使用udev 注册自己,这是最可能的情况,那么您可以在此设备上为manage the permissions 创建一个自定义 udev 规则。
例如,此规则将 rw-rw-rw- 权限分配给属于 USB 供应商 0bb4 的设备:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
【讨论】: