WMS作为Client端,其代码路径如下:
android/frameworks/base/services/core/java/com/android/server/wm
native层CustomizeManagerService作为Server端,其代码路径如下:
android/frameworks/native/services/customizemanagerservice
目录
2. 至于Native层service则按照参考常规的native service创建流程就好了。
1.首先定义一个aidl文件,可在如下目录添加
android/frameworks/base/core/java/android/ipd/ICustomizeManagerService.aidl
package android.customize;
/**
* customize interface.
* {@hide}
*/
interface ICustomizeManagerService {
int getcustomize();
}
若想将aidl生成java文件想看看里面的内容时,可用如下命令,会生成在java目录下,-o是指定生成路径。
$ aidl -o ./java --lang=java frameworks/base/core/java/android/ipd/ICustomizeManagerService.aidl
import android.ipd.ICustomizeManagerService;
private ICustomizeManagerService ipdService;
IBinder binder = ServiceManager.getService("customizemanagerservice");
if (binder != null) {
customizeService = ICustomizeManagerService.Stub.asInterface(binder);
}
int getcustomize = customizeService.getcustomize();
2. 至于Native层service则按照参考常规的native service创建流程就好了。
可参考
https://blog.csdn.net/weixin_41028555/article/details/130322366?spm=1001.2014.3001.5502
3. 但是要修改如下地方:
#define NATIVESERVICE_NAME "android.customize.ICustomizeManagerService"
IMPLEMENT_META_INTERFACE(CustomizeManagerService, NATIVESERVICE_NAME);
这里的NATIVESERVICE_NAME要和ICustomizeManagerService.aidl中的package name保持一致。