【问题标题】:file permissions change old status for every restart文件权限在每次重新启动时更改旧状态
【发布时间】:2014-11-11 17:53:33
【问题描述】:

我通过 adb shell 连接到平板电脑的 linux 内核,并清楚地将 /dev/i2c* 文件的所有权限授予所有用户。然后我成功地写和读了这些文件。但是,当我重新启动平板电脑时,所有权限都会更改旧状态。 我如何不断更改权限,有人有建议吗?

127|root@android:/ # ls -l /dev/i2c*
ls -l /dev/i2c*
crw-rw-rw- root     root      89,   0 2000-01-01 02:00 i2c-0
crw-rw-rw- root     root      89,   1 2000-01-01 02:00 i2c-1
crw-rw-rw- root     root      89,   2 2000-01-01 02:00 i2c-2
root@android:/ #

【问题讨论】:

    标签: android linux linux-kernel embedded-linux


    【解决方案1】:

    设备是内核系统在启动时创建的,所以每次启动后都需要设置权限,否则会丢失。您可以在 init 中更改它,尽管我认为您需要让您的设备植根,否则这是不可能的。

    如果您在应用程序中执行此操作,则您做错了,因为 您应该使用 Android 权限清单。

    这句话是错误的:就我所见,没有访问 i2c 设备的权限,您确实需要在 init.rc 文件上更改它们。

    另外,从你的日志来看,成为 root 也不是问题,因为你已经是 root:

    127|root@android:/ # ls -l /dev/i2c*

    【讨论】:

    • 是的,我有一个 apk,我需要读写这个 i2c 设备。我每次都通过 adb shell 授予读写权限。我还没有使用 Android 权限清单。作为您,使用权限清单的最佳解决方案?
    • @ylmzekrm1223 我已经用更准确的信息编辑了这个问题。
    • 是的,我是 root 但重启平板电脑后,权限会更改旧状态。我现在必须通过 adb shell 更改每次重启的权限。
    • @ylmzekrm1223 所以您唯一的选择似乎是通过添加您在 adb 中执行的相同命令来更改 init.rc 文件以更改权限。
    • 感谢@Paulo Fidalgo
    【解决方案2】:

    在 Android 上,此类权限在 init.rc 中设置。

    你必须change it

    【讨论】:

    • 谢谢@CL。 ,我尝试修改init.rc
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    相关资源
    最近更新 更多