博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 驱动测试程序H-M-S <5>
阅读量:6040 次
发布时间:2019-06-20

本文共 1890 字,大约阅读时间需要 6 分钟。

今天加班的时候,完成了jni直接调用驱动的开发,这一篇是接着系列<3>后面的.

由于前面完成Android的HAL层开发,接着继续往上就是frameworks层,那么所写的程序就要在framework下面,步骤如下:

<1> 进入系统下的frameworks目录:

cd frameworks/base/services/jni

<2> 在上面的路径下添加:在这目录下,有很多这样的文件,也可以仿照写.

vim com_android_server_HelloService.cpp

<3> : 在系列<3> 上的基础上开发上面的*.cpp程序:在程序上来说,是个jni(NDK)开发

#include "jni.h"#include "JNIHelp.h"#include "android_runtime/AndroidRuntime.h"#include 
#include
#include
#include
#include
namespace android{ struct callleds_device_t* callleds_device=NULL; static void callleds_setLed(JNIEnv* env,jobject clazz,jint value){ int val=value; if(!callleds_device){ return ; } callleds_device->set_led(callleds_device,val); } static inline int callleds_device_open(const hw_module_t* module,struct callleds_device_t** device){ return module->methods->open(module,CALLLEDS_HARDWARE_MODULE_ID,(struct hw_device_t**)device); } static jboolean callleds_init(JNIEnv* env,jclass clazz){ callleds_module_t* module; if(hw_get_module(CALLLEDS_HARDWARE_MODULE_ID,(const struct hw_module_t**)&module)==0){ if(callleds_device_open(&(module->common),&callleds_device)==0){ return 0; } return -1; } return -1; } static const JNINativeMethod method_table[]={ { "init_native","()Z",(void*)callleds_init }, { "setLed_native","(I)V",(void*)callleds_setLed }, }; int register_android_server_CallledsService(JNIEnv *env){ return jniRegisterNativeMethods(env,"com/android/server/CallledsService",method_table,sizeof(method_table)/sizeof(method_table[0])); }};

<4> : 运行,开始build:

 

 

<5> : 如果不出意外,生成结果如下 :

 

 

<6> : vim两个操作:

<a> : zz保存退出;

<b> : 撤销上一步操作;

 

转载地址:http://ndrhx.baihongyu.com/

你可能感兴趣的文章
Nodejs学习笔记(二):《node.js开发指南》代码中需要注意的几点
查看>>
Ztree异步加载自动展开节点
查看>>
反射操作公共成员变量
查看>>
Android热修复升级探索——代码修复冷启动方案
查看>>
学校宿舍的深夜之思考
查看>>
VB.NET 生成DBF文件
查看>>
编译安装nginx 1.9.15
查看>>
我的友情链接
查看>>
新的开始~~~
查看>>
字符串的扩展
查看>>
存储过程中调用webservice
查看>>
神奇语言 python 初识函数
查看>>
Windows安装Composer出现【Composer Security Warning】警告
查看>>
四 指针与数组 五 函数
查看>>
硬盘空间满了
查看>>
dutacm.club Water Problem(矩阵快速幂)
查看>>
深入JVM内核--GC算法和种类
查看>>
iOS的AssetsLibrary框架访问所有相片
查看>>
读书笔记三
查看>>
数论 - 最小乘法逆元
查看>>