尝试从系统服务器添加服务时,AOSP系统服务获得AVC拒绝错误

AOSP system service getting avc denied error while trying to add service from SystemServer(尝试从系统服务器添加服务时,AOSP系统服务获得AVC拒绝错误)
本文介绍了尝试从系统服务器添加服务时,AOSP系统服务获得AVC拒绝错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我正在aospCodebase/frameworks/base/services/java/com/android/server/SystemServer.java中添加我的Koushik服务,如下所示

KoushikService koushikservice = null;
            try{
                traceBeginAndSlog("KOUSHIK_SERVICE adding trace");
                koushikservice = new KoushikService(mSystemContext);
                ServiceManager.addService(Context.KOUSHIK_SERVICE,koushikservice);
            }catch(Throwable e){
                Slog.e(TAG, "Starting KOUSHIK_SERVICE failed!!! ", e);
            }
            traceEnd();
我收到";koushik_service添加跟踪和日志,但随后AVC被拒绝。如果您需要进一步的信息,请告诉我。

推荐答案

您需要添加SELinux规则才能允许该服务。默认情况下,除非明确允许,否则拒绝SELinux。

执行此操作的最简单方法是与现有服务及其规则进行比较。

基于我为案例中服务添加的内容,并假定Context.KOUSHIK_SERVICE = "koushik"的值大致如下:

文件:koushik.te

type koushik, domain;

在文件SERVICE_CONTEXTS中,添加:

koushik                    u:object_r:koushik_service:s0

在文件service.te中添加:

type koushik_service,  service_manager_type;

在文件system_server.te中添加:

add_service(system_server,koushik_service)

最后,如果您希望允许域查找并使用您的服务,例如从Platform_app,您可以添加Platform_app.te

allow platform_app koushik_service:service_manager find;

这篇关于尝试从系统服务器添加服务时,AOSP系统服务获得AVC拒绝错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)