我有系统应用程序调频广播(com.android.fmradio)。当我反编译它并将其重新安装到我的 root 设备上时,我的应用程序无法访问 /dev/fm。 adb shell su setenforce 0 解决我的问题,直到下一次设备重新启动,但首先它仅在重新启动之前起作用,其次这种方法允许访问任何应用程序的低级驱动程序,在我看来,这是不安全的。正如我猜测的那样,为了解决这个问题,我的apk应该由与固件中相同的证书分配,但我没有这个证书。我听说,我可以通过 Magisk 解决这个问题,但在超级用户选项卡中我找不到我的应用程序。那么我该如何解决这个问题,或者这个问题无法解决?谢谢大家的帮助。
您缺少执行此操作所需的 SE Linux 策略,应该是:
/dev/fm(/.*)? u:object_r:fm_device:s0
其中类型
fm_device
还需要定义,还有HAL访问等
https://source.android.com/docs/security/features/selinux/build