1)新建IBinder.aidl,生成BpBinder,客户端(Ixxxx.aidl)
2)创建BpServiceManager(IBinder),实现IBinder业务逻辑函数。
3)创建BnBinder,服务端(xxxService)
4)在 frameworks /base /services /java /com /android /server /SystemServer.java
添加Service:SystemService.add(BnBinder)
5)在/frameworks/base/core/java/android/app/ContextImpl.java
private xxxServiceManager getxxxSevviceManager()
6)在/frameworks/base/Android.mk中
添加core/java/android/app/IxxxService.aidl \
7)在\external\sepolicy\service.te 添加:
index 56478d0..6caba56 100644
--- a/sepolicy/service.te
+++ b/sepolicy/service.te
@@ -102,3 +102,4 @@ type wifip2p_service, app_api_service, system_server_service, service_manager_ty
type wifiscanner_service, system_api_service, system_server_service, service_manager_type;
type wifi_service, app_api_service, system_server_service, service_manager_type;
type window_service, system_api_service, system_server_service, service_manager_type;
+type xxx_service, system_api_service, system_server_service, service_manager_type;
8)在 \external\sepolicy\service_contexts添加 syk@dell-Precision-Tower-7910:~/external/sepolicy$ git diff service_contexts diff --git a/sepolicy/service_contexts b/sepolicy/service_contexts index 85dcd3d..3230be0 100644 --- a/sepolicy/service_contexts +++ b/sepolicy/service_contexts @@ -1,3 +1,4 @@ +xxx u:object_r:xxx_service:s0 accessibility u:object_r:accessibility_service:s0 account u:object_r:account_service:s0 activity u:object_r:activity_service:s0