【发布时间】:2020-05-14 18:42:57
【问题描述】:
我正在开发 Android9 AOSP,当我在我的 platform_app.te(位于 /system/sepolicy/public/platform_app.te)中添加权限时,我的构建失败。
system/sepolicy/public/platform_app.te:10:"ERROR 'unknown type xyz_service' at token ';' on line "
我添加的权限是allow platform_app xyz_service:binder { call transfer };
xyz_service 的背景:- 它是由 init 启动的服务,它的 '.te' 文件位于 /system/sepolicy/vendor/xyz_service.te
我能想到的一个原因是 xyz_service.te 位于 /system/sepolicy/vendor 中,而另一个文件位于 /system/sepolicy/public 中。将其从 /vendor 移至 /public 会带来更多问题。当然,您不能在两个位置都拥有文件,因为它会导致“类型重复声明”错误。有谁能指导一下,谢谢!
【问题讨论】:
-
Vendor sepolicies 规则通常位于
device/<manufacturer>/<device>/sepolicy并通过在相应的BoardConfig.mk中设置BOARD_VENDOR_SEPOLICY_DIRS来集成。但是,如果您想将其保留在/system/sepolicy中,我想您应该查看将xyz_service.te移动到/public时遇到的问题。
标签: build android-source android-9.0-pie selinux