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