\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