本文原文链接:https://xuesong.blog.csdn.net/article/details/80933999?spm=1001.2014.3001.5502
注册进去:
4、LedService.java:调用本地方法来操作硬件
package com.android.server; import android.os.ILedsService; //类 LedService ,它继承的父类是ILedService.Stub类 public class LedService extends ILedService.Stub{ private static final String Tag = "LedService"; //call native c function to access hardware public int ledCtrl(int which, int status) { return native_ledCtrl(which,status); } public LedService(){ native_ledOpen(); } public int native native_ledCtrl(int which, int status); }
SystemServer.java中
Slog.i(Tag, “Led Service”); ServiceManager.addService(“led”, new LedService);//new LedService 创建实例化对象
5、IledService.java(接口文件):给app使用
aidl(Android Interface Definition Language)文件 interface ILedService(){ int ledCtrl(int which, int status); }
需要修改:Android.mk
添加一行:
core/java/android/os/ILedService.aidl\
执行mmm . 命令
生成:IledService.java 文件
6、app使用
=====================
JNI复习:
硬件访问服务:
SystemServer:
因为操作都不一样: