在系统启动时,会新增一些自定义的 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 理解有偏差导致我的规则写错了?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.