Android 通过demo调试节点权限问题
近来收到客户反馈提到在应用层无法控制节点,于是写了一个简单的demo来验证节点的IO权限,具体调试步骤就是写一个按钮点击事件,当点击按钮时将需要验证的节点写为1(节点默认为1则写为0),最后通过cat命令读取节点状态,以此验证应用层是否具有控制该节点的IO权限,具体修改参照如下:
点击事件功能实现的具体代码参考如下:
public void onClick(View v) {try {String filePath = "theNodePath";FileWriter writer = new FileWriter(filePath);writer.write("1");writer.close();} catch (IOException e) {e.printStackTrace();}}
在点击按钮Button之后通过cat命令读取当前节点状态发现节点的值没有改变,抓取log分析看到Permission denied,确定是由于缺失权限导致的,为此需要我们手动赋予节点权限,具体修改参照如下:
/device/pj/init.project.rc
+ chmod 777 theNodePath
+ chown system system theNodePath
重新编译验证,修改生效,再次点击按钮Button之后通过cat命令读取当前节点状态,此时节点的值已经改变