- 基于 AOSP 二次开发
- 设备:Android API: 28 以及上
在系统启动时,会新增一些自定义的 System Service 以供第三方应用使用一些特权操作。
第三方应用可以通过ServiceManager.getService(...)或Context.getService(...)获取到对应的 Binder 对象。
在测试中发现 SELinux 阻止了普通应用获取
ELinux: avc: denied { find } for service=test_service_name pid=14827 uid=10144 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:default_android_service:s0 tclass=service_manager permissive=0
我不希望直接关闭 SELinux,尝试添加规则:allow untrusted_app default_android_service service_manager { find }
依然被 SELinux 阻止,还是上述一样的日志,所以想请问一下各位,是不是我对 SELinux 理解有偏差导致我的规则写错了?