c实现写设备节点

二 :JNI部分修改
1.添加c文件,com_android_server_SelfManagerService.cpp,文件命名是有原因的,是因为我们的本地接口在com/android/server/SelfManagerService.java中,所以我们这样命名
frameworks/base/services/core/jni/com_android_server_SelfManagerService.cpp:
#define LOG_TAG “zhy”

#include “jni.h”
#include <nativehelper/JNIHelp.h>
#include “android_runtime/AndroidRuntime.h”
#include <utils/misc.h>
#include <utils/Log.h>
#include <hardware/vibrator.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <sys/epoll.h>
#include <sys/timerfd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>

//方法在驱动中生成的节点
#define DEV_NAME “/dev/switch_gpio”

namespace android
{
static jint com_android_server_SelfManagerService_tngpio_read (JNIEnv* env, jobject clazz)
{
FILE *fp = NULL;
fp = fopen(DEV_NAME, “w+”);
char buff[255];
fgets(buff, 255, fp);
fclose(fp);
return atoi(buff);
}

static void com_android_server_SelfManagerService_tngpio_write (JNIEnv* env, jobject clazz, int level)

ALOGE("tngpio_write level= %d", level);
FILE *fp = NULL;
fp = fopen(DEV_NAME, "w+");
char str[255];
sprintf(str,"%d",level);
fputs(str,fp);
fclose(fp);
}
————————————————
版权声明:本文为CSDN博主「爱喝长岛冰茶的辉辉辉辉辉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44158983/article/details/106815187

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值