我需要访问连接到我的( Root过的)Android 的 USB 相机。我在使用 Android 4.2.2 的三星 Galaxy S4。我想用普通的应用程序访问它,所以我需要设备是世界可读的。

我可以通过 shell 连接并输入

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 权限?这样每次我连接相机时它都会获得正确的文件权限?

谢谢

最佳答案

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

请注意,三星会在每次重新启动时恢复 rootfs 。我处理它的方式,我将 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
kill 198

关于Android:如何通过 ueventd.rc 向设备授予 666 权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18121626/

10-09 13:02