SELinux verweigerte Berechtigung für einen neuen Rahmen-service in android
Ich habe ein neues System-Dienst in Android-Framework in früheren Versionen (4.4) nach diesem tutorial von Texas Instruments
Aber wenn ich versuche, eine ähnliche Sache in Android Lollipop, die SELinux-Richtlinie verweigert mir, dies zu tun.
Dies ist die Ausgabe von logcat.
05-11 15:49:51.362 248 248 I SystemServer: Test Service Starting
05-11 15:49:51.364 248 248 I TestManagerService: Started Test Manager Service
05-11 15:49:51.370 54 54 E SELinux : avc: denied { add } for service=TestManagerService scontext=u:r:system_server:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager
05-11 15:49:51.371 54 54 E ServiceManager: add_service('TestManagerService',28) uid=1000 - PERMISSION DENIED
05-11 15:49:51.378 248 248 E SystemServer: Failure starting TestManagerService
05-11 15:49:51.378 248 248 E SystemServer: java.lang.SecurityException
05-11 15:49:51.378 248 248 E SystemServer: at android.os.BinderProxy.transactNative(Native Method)
05-11 15:49:51.378 248 248 E SystemServer: at android.os.BinderProxy.transact(Binder.java:496)
05-11 15:49:51.378 248 248 E SystemServer: at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:150)
05-11 15:49:51.378 248 248 E SystemServer: at android.os.ServiceManager.addService(ServiceManager.java:72)
05-11 15:49:51.378 248 248 E SystemServer: at com.android.server.SystemServer.startOtherServices(SystemServer.java:551)
05-11 15:49:51.378 248 248 E SystemServer: at com.android.server.SystemServer.run(SystemServer.java:257)
05-11 15:49:51.378 248 248 E SystemServer: at com.android.server.SystemServer.main(SystemServer.java:171)
05-11 15:49:51.378 248 248 E SystemServer: at java.lang.reflect.Method.invoke(Native Method)
05-11 15:49:51.378 248 248 E SystemServer: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:723)
05-11 15:49:51.378 248 248 E SystemServer: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
Möchte ich nicht deaktivieren von SELinux-Richtlinien. Ich möchte nur, dass die Politik zulassen, dass meine neuen service zu. Was soll ich tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie diesen link: http://androidosp.blogspot.com.tr/2014/11/selinux-seandroid-exceptions-for-system.html
Können Sie einfach springen: /extern/sepolicy/service_contexts
und fügen Sie Ihre neue service gibt. Das ist es!
Datei:
Hinzufügen:
Datei:
Hinzufügen:
wo
mytestservice
Ihren Namen serviceEs mir helfen
In Android 7.1.1 die service_contexts Datei nach system/sepolicy
Einen Dienst hinzufügen "foo" der Richtlinie hinzufügen, um die Datei service_contexts
Und im service.te hinzufügen:
Einem Gerät bestimmte Richtlinie kann erstellt werden, indem ein service_contexts & service.te Datei in die Geräte sepolicy Verzeichnis: Gerät/myDevice/versionName/sepolicy
fügen Sie in Ihre sepolicy Datei