通过ueventd.rc文件修改设备节点的问题

        项目里面需要将系统的串口库封给JNI,然后java来调用系统提供的串口接口。这些串口接口中涉及到读写权限的问题,被Android的SELinux和Linux的用户组权限所影响,因为java的进程权限比较低,所以导致系统封给java的接口调用失败,且selinux和Linux的用户组权限都在报错。

解决Linux的用户组权限报错:

        需要去修改ueventd.rc(D:\src\system\core\rootdir\ueventd.rc)文件。但是ueventd.rc文件还是有一定的修改规则,通过几次修改之后大概总结了一下这个规则,不保证对错。

 /dev/tty*                 0777   root       system

        ueventd.rc文件中的内容大致为这样,第一列表示要修改的设备节点;第二列为修改后的权限;第三列为该节点的用户,注意,不要尝试去修改该节点的用户,很有可能修改导致修改失败,我一开始修改失败就是因为把该节点的用户给修改了;第四列表示所属的组,组是可以修改的。

       按以上修改之后,设备节点权限修改成功。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
init.rc 是 Android 系统启动时使用的一个脚本文件,通常位于系统的 /system/core/rootdir/ 目录下。如果您想要修改 init.rc 文件,可以按照以下步骤进行: 1. 获取 root 权限。在 Android 设备上,修改 init.rc 文件需要 root 权限,因此您需要先获取 root 权限。 2. 使用 adb 命令将 init.rc 文件设备中复制到电脑上。例如,可以使用以下命令将 init.rc 复制到当前目录下: ``` adb pull /system/core/rootdir/init.rc ``` 3. 使用文本编辑器(如 Notepad++、Sublime Text 等)打开 init.rc 文件。在编辑 init.rc 文件时,需要注意以下几点: - 不要删除或修改文件中任何已有的内容,否则可能会导致系统无法正常启动。如果您需要修改某个选项,可以尝试注释掉该选项并添加新的选项。 - 在修改 init.rc 文件时,需要特别注意语法问题。init.rc 文件的语法相对比较复杂,如果语法出现问题,可能会导致系统启动失败。 4. 修改完 init.rc 文件后,使用 adb 命令将文件上传到设备上。例如,可以使用以下命令将修改后的 init.rc 文件上传到 /sdcard/ 目录下: ``` adb push init.rc /sdcard/ ``` 5. 在设备上使用 root 权限将修改后的 init.rc 文件复制到 /system/core/rootdir/ 目录下,覆盖原来的 init.rc 文件。例如,可以使用以下命令将文件复制到目标目录下: ``` su cp /sdcard/init.rc /system/core/rootdir/ ``` 6. 重启 Android 设备,让修改生效。例如,可以使用以下命令重启设备: ``` adb reboot ``` 请注意,修改 init.rc 文件需要非常谨慎,因为错误的修改可能会导致系统无法启动。如果您不确定自己的修改是否正确,建议先备份原始的 init.rc 文件,以便在修改出现问题时可以还原。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值