我试图建立一个ROM为我的手机(小米Mi A2建兴)与SELinux强制执行.我已经在许可模式下成功启动了手机,但是在强制模式下,Wi-Fi无法工作,SystemUI每隔几分钟就会重新启动一次,显示“手机正在启动...”而不是启动器屏幕。
我使用audit2allow
从我的手机中获取SELinux拒绝,并将输出添加到SELinux策略列表中。然而,当我尝试编译ROM时,我得到以下错误:
device/xiaomi/daisy/sepolicy/daisy.te:224:ERROR 'unknown type qemu_hw_mainkeys_prop' at token ';' on line 75538:
allow platform_app qemu_hw_mainkeys_prop:file read;
在得到这个错误后,我在我的property.te文件中声明了类型:
type qemu_hw_mainkeys_prop, property_type;
在尝试再次编译ROM后,我得到了这个:
device/xiaomi/daisy/sepolicy/property.te:3:ERROR 'Duplicate declaration of type' at token ';' on line 75576:
type qemu_hw_mainkeys_prop, property_type;
2条答案
按热度按时间yhived7q1#
我遇到了同样的重复声明错误。下面是我的设备目录结构:
在
my_device.mk
中,我有:首先在
my_system.mk
中,我有:但是这产生了错误,所以我从
my_system.mk
中删除了上面的BOARD_SEPOLICY_DIRS
行,并将其放入BoardConfig.mk
中。错误消失了,希望我能确切地解释原因,但也许你也有同样的问题。kwvwclae2#
Android会将所有te文件附加到一个文件中。您需要在每个te文件的末尾添加一个空行,否则前一个文件的最后一行和当前文件的第一行将混合。而且,我更喜欢你在每个TE文件的开头添加一个空行,以避免其他TE文件的格式错误。