Android P中如何自定义一个系统Service

本文详细介绍了在Android P中创建自定义系统Service的步骤,包括在Context中定义Service名称,创建AIDL文件,配置Android.bp,实现自定义Service,创建Service管理类,system_server启动管理,SystemServiceRegistry注册,以及SeLinux权限配置。遵循这些步骤,可以在Android P中成功添加并管理自定义系统Service。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Context中新建service name

frameworks/base/core/java/android/content/Context.java

public static final String JUSTART_SERVICE = "justart";

2. 创建aidl文件

frameworks/base/core/java/android/app/IJustArt.aidl

package android.app;

/**
 * Created by justart on 2019/3/21.
 */

interface IJustArt {
    String getAllWifiInfo();
}

这里的IJustArt.aidl负责APP端和system_server中的自定义service 通信

3. Android.bp 配置

frameworks/base/Android.bp

         "core/java/android/app/IActivityManager.aidl",
+        "core/java/android/app/IJustArt.aidl",

找一个熟悉的系统service对应的aidl文件,在下面添加一条即可。只有在这里配置之后编译系统才能找到他,将它编译生成IJustArt.java,编译之后的文件生成在 :\out\soong\.intermediates\frameworks\base\framework\android_common\gen\aidl\frameworks\base\core\java\android\app\IJustArt.java

4. service下创建自定义Service

frameworks/base/services/core/java/com/android/server/justart/JustArtService.java

package com.android.server.justart;

import android.os.RemoteException;

import android.app.IJustArt;

/**
 * Created by justart on 2019/3/21.
 */

public class JustArtService extends IJustArt.Stub{
    private final static String TAG = "JustArtService";
    public JustArt
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值