6.2、Android硬件访问服务编写系统代码

1、实现接口文件给App使用,接口文件是应用程序查询获得服务时获得

  使用AIDL(Android接口定义语言)来实现ILedService.java接口

 定义ILedService.aidl

 interface ILedService

 {

   int IedCtrl(int which,int status);

 }

 把ILedService.aidl放在已经编译好的Android系统源码中的目录:frameworks/base/core/java/android/os目录下,同时修改frameworks/base下的Android.mk文件,其就是makefile文件,其他子目录没有Android.mk文件:仿照其他添加aidl文件添加一句:

core/java/android/os/ILedService.aidl\

接着在frameworks/base目录下执行:mmm . (该命令会帮我们生成ILedService.java文件,同时执行mmm命令的前提是已经成功编译了Android系统)

编译的结果会放到out目录下,进入out目录下搜索:“find -name "ILedService.java”

App如果使用:ILedService iLedService;

      iLedService = ILedService .Stub.asInterface(ServiceManager.getService("led"));

      然后调用iLedService.IedCtrl();这个方法会把服务请求发给LedService.java

2、实现LedService.java

原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/9125003.html

时间: 2024-11-08 18:42:12

6.2、Android硬件访问服务编写系统代码的相关文章

第1课第4.4节_Android硬件访问服务编写HAL代码

4 编写HAL代码 源码下载方法 第一次: git clone https://github.com/weidongshan/SYS_0001_LEDDemo.git 更新: git pull origin 取出指定版本: git checkout v1 // 有JNI没有HAL git checkout v2 // 有JNI,HAL git checkout v3 // add MODULE TAG, DEVICE TAG JNI 向上提供本地函数, 向下加载HAL文件并调用HAL的函数HAL

开发Android硬件访问服务

在http://blog.csdn.net/getnextwindow/article/details/47731597中,为Android系统添加了HAL模块,开发好一个硬件抽象层以后,我们通常还需要在应用程序框架中实现一个硬件访问服务.硬件访问服务通过硬件抽象层(HAL)模块来为应用程序提供读写操作.由于硬件抽象层使用c++开发,而应用程序框架中的硬件访问服务是Java语言开发的,因此,硬件访问服务必须通过JNI来调用抽象层模块的接口. Android系统的硬件访问服务通常运行在系统进程Sy

6.5 Android硬件访问服务使用反射

1.前面的例子中App为了能够范问ILedService接口,把classes.jar导入到应用程序中,但是我们不想把classes编进apk包里面去,这样导致我们的apk程序会很大(解压缩apk会发现里面有classes.dex和classes2.dex这两个优化后的包) 因此这里修改编译选项: 在Android studio中 file->Project Structure->点击左边我们的app->点击右边的Dependencies,找到下面的classes,其Scope列表中的值

开发Android应用程序来使用硬件访问服务

1.开发Android应用程序来使用硬件访问服务 ~/android-2.3_r1/packages/experimental/Freg ----AndroidManifest.java ----Android.mk ----src ----shy/luo/freg ----Freg.java ----res ----layout ----main.xml ----values ----string.xml ----drawable ----icon.png Freg.java package

实现硬件访问服务的JNI方法

1.实现硬件访问服务的JNI方法 ~/android-2.3_r1/frameworks/base/services/jni ----com_android_server_FregService.cpp ----onload.cpp ----Android.mk com_android_server_FregService.cpp #define LOG_TAG "FregServiceJNI" #include "jni.h" #include "JNI

实现硬件访问服务

一. 1.定义硬件访问服务接口(为了进程间通信) ~/android-2.3_r1/frameworks/base ----Android.mk ----/core/java/android/os/IFregService.aidl Android系统提供了一种描述语言来定义具有跨进程访问能力的服务接口,这种描述语言称为Android接口描述语言(AIDL). IFregService.aidl package android.os; interface IFregService { void

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6578352 在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行.今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件.因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的.硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序:而驱动程序的最终目的,是为

在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)

在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行.今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件.因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的.硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序:而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软件功能.对Android系统上的应用软件来说,就是要在系统的Application Frameworks

android客户端访问服务端tomcat

首先,服务器端已经存在一个项目,该项目基于SSH,已经部署在tomcat上并且正在运行了.我在这个项目的action层新建了一个包,该包主要是Struts2的一些action,只是这些action不是返回某些view,而是返回json,定义这些action的XML配置如下: <package name="mobie" namespace="/mobie" extends="json-default">         <acti