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

本文记录了一次解决HAL通过JNI访问设备失败的问题过程。作者在修改ueventd.rc文件后,JAVA应用程序仍无法正常访问HAL,并显示错误提示。经过排查发现,问题在于未正确更新ramdisk文件系统。
摘要由CSDN通过智能技术生成
刚才照着老罗的博客做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哈哈~我是菜鸟,所以还需要很长的路要走啊!


生成到叫ramdisk.img,用下面到命令转换以下就可以了

$ cd ~/C3000/out/target/product/imx51_bbg
$ ~/C3000/bootable/bootloader/uboot-imx/tools/mkimage -A arm -O linux -T ramdisk -C none -a 0x90308000 -n "Android Root Filesystem" -d ./ramdisk.img ./uramdisk.img

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值