3

我已经在我的安卓设备上配置了 v4l2。我插入网络摄像头并看到 /dev/video4 节点已创建。但是当我尝试从我的 JNI 层打开它时,它显示“权限被拒绝”

我试过以下

1) 更改 /dev/video4 的权限,使其为所有人的读写 (0666)

2)在android manifest xml中添加了android.permission.camera(原来/dev/video4是系统创建的,camera group有rw权限)

它们都不起作用。关于如何解决它的任何想法?

4

2 回答 2

0

我在 Android 4.4.2 (Sasmung Galaxy S5 SM-G900F)上遇到了类似的问题。我发现更改权限/dev/video4并没有帮助。但是chown成功了:

su -c chown 10209:10209 /dev/video4

(这里,10209 是 Android 分配给我的应用程序的 UID)。

PS这并没有解决我的主要问题:当我的应用程序从特定的 USB 摄像头读取视频帧时出现内核恐慌。

于 2014-05-14T06:54:46.157 回答
0

这听起来与我在 Lollipop 上的SE Linux 权限遇到的问题相同。在这里查看我的答案。

简而言之,您可以:

  • 通过运行(以 root 身份)禁用 SE Linux(直到重新启动)echo 0 > /sys/fs/selinux/enforce
  • 破解您的 Cyanogenmod 构建并添加allow untrusted_app video_device:chr_file rw_file_perms;external/sepolicy/untrusted_app.te.
于 2016-06-14T02:36:47.337 回答