我已经在我的安卓设备上配置了 v4l2。我插入网络摄像头并看到 /dev/video4 节点已创建。但是当我尝试从我的 JNI 层打开它时,它显示“权限被拒绝”
我试过以下
1) 更改 /dev/video4 的权限,使其为所有人的读写 (0666)
2)在android manifest xml中添加了android.permission.camera(原来/dev/video4是系统创建的,camera group有rw权限)
它们都不起作用。关于如何解决它的任何想法?
我已经在我的安卓设备上配置了 v4l2。我插入网络摄像头并看到 /dev/video4 节点已创建。但是当我尝试从我的 JNI 层打开它时,它显示“权限被拒绝”
我试过以下
1) 更改 /dev/video4 的权限,使其为所有人的读写 (0666)
2)在android manifest xml中添加了android.permission.camera(原来/dev/video4是系统创建的,camera group有rw权限)
它们都不起作用。关于如何解决它的任何想法?
我在 Android 4.4.2 (Sasmung Galaxy S5 SM-G900F)上遇到了类似的问题。我发现更改权限/dev/video4
并没有帮助。但是chown成功了:
su -c chown 10209:10209 /dev/video4
(这里,10209 是 Android 分配给我的应用程序的 UID)。
PS这并没有解决我的主要问题:当我的应用程序从特定的 USB 摄像头读取视频帧时出现内核恐慌。
这听起来与我在 Lollipop 上的SE Linux 权限遇到的问题相同。在这里查看我的答案。
简而言之,您可以:
echo 0 > /sys/fs/selinux/enforce
allow untrusted_app video_device:chr_file rw_file_perms;
到external/sepolicy/untrusted_app.te
.