直接回答你的问题:不,文件名loggerd.te不需要和服务名称一致。你可以把它命名为abc.te、my_test.te甚至123.te,功能完全一样,编译也不会报错。
1. 事实依据:Android 编译系统是如何工作的?
Android 编译 SELinux 策略时,使用的是一个叫m4的宏处理器和checkpolicy编译器。它的工作流程非常“粗暴”:
- 扫描:构建系统会扫描
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS指定目录下的所有后缀为.te的文件。 - 合并:它不管你文件名叫什么,它会把所有找到的
.te文件的内容全部复制粘贴(Concatenate),合并成一个巨大的临时文本文件(通常叫policy.conf)。 - 编译:最后编译这个巨大的文本文件。
证据: 如果你把loggerd.te改名为banana.te,只要文件里面的代码没变,生成的sepolicy二进制文件是