4

我需要访问连接到我的(根)Android 的 USB 摄像头。我使用的是带有 Android 4.2.2 的三星 Galaxy S4。我想用一个普通的应用程序访问它,所以我需要这个设备是世界可读的。

我可以通过外壳连接并输入

root@android:/ # su
root@android:/ # cd /dev
root@android:/dev # chmod 666 video4

它有效。但是每次我断开相机并重新连接它时,我都必须再做一次。

通过 shell,我可以重新挂载根文件系统 r/w

mount -o rw,remount -t rootfs rootfs /

然后编辑文件/ueventd.rc (实际上是 /ueventd.qcom.rc

并添加

/dev/video*               0666   system     camera

但即使我放 666 我也只会得到

root@android:/dev # ls -la video4                                              
crw-rw---- system   camera    81,  18 2013-08-08 10:14 video4

有没有办法永久授予 666 权限?这样每次我连接相机时它都会获得正确的文件权限?

谢谢

4

2 回答 2

1

替换/ueventd.qcom.rc文件后,您必须重新启动/sbin/ueventd服务。其实它会自动重启,你只需要找到它ps u,然后杀掉pid

请注意,三星会在每次重新启动时恢复rootfs 。我处理它的方式,我保留 in 的更改副本ueventd.qcom.rc/data/local/tmp并发出

su -c mount -o remount,rw /
su -c cp /data/local/tmp/ueventd.qcom.rc /
ps ueventd

>

USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      198   1     1136   448   ffffffff 00000000 S /sbin/ueventd

kill198

于 2014-05-12T06:58:33.250 回答
0

init.rc 中有可用的触发器,设备添加和设备删除,似乎这可以让您有机会设置权限: https ://github.com/android/platform_system_core/blob/master/init/自述文件#L126

于 2013-09-23T01:48:52.133 回答