即使使用 777,权限也被拒绝

Permission denied even with 777

所以我正在开发一个 android 应用程序。它使用 IR blaster 将信号发送到电视和其他东西。它在 CyanogenMod 11(Android 4.4.4) 上运行良好,但在更新到 CyanogenMod 12(Android 5.0) 后它停止工作。应用正在评估这些文件:/dev/ttyHSL2 和 /sys/devices/platform/ir_remote_control/enable。通常他们的权限是可以的,但是在更新之后他们是 "ok" 但不是 ok :/ :

05-09 23:44:02.980  28282-28340/com.sssemil.ir E/libsonyir﹕ IRpowerOn : Error opaning power node /sys/devices/platform/ir_remote_control/enable error : Permission denied
05-09 23:44:03.981  28282-28340/com.sssemil.ir I/libsonyir﹕ IRserialOpen : CALLED
05-09 23:44:03.991  28282-28340/com.sssemil.ir E/libsonyir﹕ IRserialOpen : Error opaning serial device /dev/ttyHSL2 error : Permission denied

所以我尝试修复它们:

su -c "chmod 222 /sys/devices/platform/ir_remote_control/enable"
su -c "chmod 666 /dev/ttyHSL2"

还是一样的错误。然后我尝试了这个:

su -c "chmod 777 /sys/devices/platform/ir_remote_control/enable"
su -c "chmod 777 /dev/ttyHSL2"

仍然没有...我已经检查了权限,它们没问题:

shell@odin:/ $ su -c "ls -l /dev/ttyHSL2"                                    
crwxrwxrwx system   system   244,   2 2015-05-09 22:27 ttyHSL2
shell@odin:/ $ ls -l /sys/devices/platform/ir_remote_control/enable
-rwxrwxrwx system   system       4096 2015-05-09 22:27 enable

所以如果有任何想法请帮助我。我的应用程序是开源的,所以这里有源代码,如果你需要的话 https://github.com/sssemil/android_packages_apps_IRRemote .

谢谢。

因此,要修复它,请输入:su -c "setenforce 0"