【问题标题】:Android: how to grant 666 privs to a device via ueventd.rcAndroid:如何通过 ueventd.rc 向设备授予 666 权限
【发布时间】:2013-08-09 21:45:00
【问题描述】:

我需要访问连接到我的(根)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 我也只能得到 ​​p>

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

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

谢谢

【问题讨论】:

    标签: android device file-permissions rooted-device


    【解决方案1】:

    替换/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
    

    kill198

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-03-21
        • 1970-01-01
        • 1970-01-01
        • 2014-10-06
        • 2021-12-21
        • 2019-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多