\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