\system\core\rootdir目录下的ueventd.rc文件 的作用

在尝试通过JNI访问Android设备驱动/dev/hello时遇到权限问题,发现修改的/system/core/rootdir/ueventd.rc未生效。分析发现ueventd.rc在Android根目录下不可见,问题出在未将更新的ramdisk文件系统烧录到设备。解决后,成功完成从Linux驱动到Java应用的设备交互实验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        刚才照着老罗的博客做hello 的驱动和JNI以及HAL等,发现我我照着改了ueventd.rc

\system\core\rootdir目录下的ueventd.rc文件 增加了

 /dev/hello 0666 root root 

但是JAVA app 程序就是无法正常访问HAL。老是在JNI 打印 hello JNI:device is not open

说明JNI 无法访问到/dev/hello

咋回事?

ls -l /dev/hello  发现

竟然不是0666 root root  ,咋回事,我看了一下android层的

ueventd.rc文件 都增加了

 /dev/hello 0666 root root 

了!


无意中发现ueventd.rc 居然是在android 下的根目录是可见的。

cat ueventd.rc 打开一看,

真的没有

 /dev/hello 0666 root root  这个选项,咋回事呢?神了!


ueventd.rc 没有只有两种可能

一种是我没改,根据前面的改动,不可能没有改

二是ueventd.rc 这个文件我没有烧写进去,因为我只是烧了system.img而已,这个ueventd.rc 应该是不包含在这个镜像的。

果然我重新烧了最新的ramdisk 文件系统,cat 一下就发现改了。

当然这个hello 的linux——》HAL——》JNI——》java 的实验就成功完成了。

O(∩_∩)O哈哈~我是菜鸟,所以还需要很长的路要走啊!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值