gpt4 book ai didi

java - 从系统应用程序访问/数据文件夹

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:26 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序需要 /data 文件夹中某些文件的数据(主要是 /data/system_ce/0,但其他一些文件夹也是好吧)。

该应用程序应该是系统应用程序。我用平台 key 签署了 .apk 文件并将其移动到 /system/priv-app (尝试使用 /system/app 作为好)文件夹。

但是,当我尝试读取具有权限 rw--------(即 600)的文件时,我得到一个 FileNotFoundException“权限被拒绝”。该文件的所有者是“系统”。为什么我无法读取文件?除了从我的应用更改文件权限外,还能做什么?

我当前的 Android 版本是 Oreo (8.1)。我不关心向后兼容性。

最佳答案

600 的权限意味着只有文件所有者可以读/写文件。该应用程序可能不是该文件的所有者。在这种情况下,您可以执行以下操作之一:

1)让你的应用获得root权限,例如如下:

public void onCreate ()
{
// ...
try
{
Runtime.getRuntime ().exec ("su");

} catch (Exception e)
{
// Failed to obtain root privileges...
}

当您的应用程序执行该代码时,您会在用于根管理的任何应用程序中授予根权限(例如,在 Magisk 管理器中)。

2) 修改文件权限为全局可读/可写。

3) 将文件的所有权更改为您的应用程序的所有者。

此外,请确保您的应用确实作为系统应用运行(查看其 Android 设置:如果它显示“卸载”按钮,则表明它未作为系统应用运行)。

其中一个应该有效。

关于java - 从系统应用程序访问/数据文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51190212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com