如何在android设备的/data/system/位置读取和写入文件?

Posted

技术标签:

【中文标题】如何在android设备的/data/system/位置读取和写入文件?【英文标题】:How to read and write a file at /data/system/ location in android device? 【发布时间】:2021-08-21 17:06:09 【问题描述】:

我正在开发一个系统应用程序。为此,我想在 /data/system/ 目录中读取和写入 XML 格式的文件。

即使是系统应用,我的应用是否还需要具有读/写权限?

我不确定是否可以访问此位置。

注意 - 通过 root 访问,我可以读取文件并可以在终端中打开。

【问题讨论】:

试试吧。使用正常的复制文件代码。然后告诉我们。 【参考方案1】:

对于该位置的读/写,设备将被root。 你也有权限不能这样做,因为权限允许你在/mnt/sdcard上读/写

【讨论】:

实际上,我会以编程方式在系统应用程序中进行读写操作。【参考方案2】:

/data/system 有两个限制:

    文件权限。 /data/system 的所有者和组是 system(uid:1000)。只有具有系统 uid 的应用才能写入 /data/system. android:sharedUserId="android.uid.system" 安全政策。 /data/system 标有 system_data_file。少数域可以访问system_data_file,如system_server、zygote。您需要为您的应用定义一个新域,并添加规则以允许新域访问 system_data_file。

【讨论】:

以上是关于如何在android设备的/data/system/位置读取和写入文件?的主要内容,如果未能解决你的问题,请参考以下文章

Android之dropbox 分析

Android 逆向修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )(代码片

关于Android的app权限申请问题

存在Settings数据在手机系统中的位置

android黑科技系列——修改锁屏密码和恶意锁机样本原理分析

如何获得Android设备名称