1. 程式人生 > >android驅動 無法開啟裝置檔案 解決

android驅動 無法開啟裝置檔案 解決

由於裝置檔案是在核心驅動裡面通過device_create建立的,而device_create建立的裝置檔案預設只有root使用者可讀寫,而hello_device_open一般是由上層APP來呼叫的,這些APP一般不具有root許可權,這時候就導致開啟裝置檔案失敗:Hello Stub: failed to open /dev/hello -- Permission denied. 解決辦法是類似於Linux的udev規則,開啟Android原始碼工程目錄下,進入到system/core/rootdir目錄,裡面有一個名為ueventd.rc檔案(由ueventd_parse_config_file解析成記憶體中的相應資料結構,解析時並不建立裝置節點,而是提供資料庫,當有裝置節點需要ueventd生成的時候,ueventd會參考這個資料庫的資訊去設定裝置節點的許可權),往裡面新增一行: /dev/hello 0666 root root,然後重新打包ramdisk.img後燒入手機中執行即可。