在已 root 的 Android 设备上读取或写入 /data 中的文件 [关闭]

2023-12-20

我正在尝试以编程方式读取/写入已 root 的手机上 /data 目录中的文件。 我先来外壳执行 su确保我的程序获得超级用户访问权限,效果很好。

我可以通过 shell 读取/写入 /data 中的文件execs我的程序中的命令,但我得到“没有权限" 使用 Android File 或其他 API 时出现 java.io.IOException。

如何使用 API 在已 root 的手机上读取/写入 /data ?这显然是可能的,因为像 Root Explorer 这样的程序就可以做到这一点。

谢谢你,


简而言之,不,这不是strictly可以通过 API 进行,因为您需要确保修改命令以 root 身份运行,否则操作系统将拒绝这些操作。

您需要将修改命令通过管道传输到su命令以使其以 root 身份执行。
On his github https://github.com/Chainfire/libsuperuser/tree/master/libsuperuser/src/eu/chainfire/libsuperuser,Chainfire 提供了示例实现 https://github.com/Chainfire/libsuperuser/blob/master/libsuperuser/src/eu/chainfire/libsuperuser/Shell.java of a Shell您可以用来执行的类rm命令或任何其他命令,以 root 身份执行。

以编程方式执行此操作的一种方法是将您尝试编辑的文件复制到临时目录,例如/sdcard/tmp.txt,然后编辑该文件,然后将其复制回原始位置并覆盖那里的文件。

另一种方法是chmod目标文件(即chmod 777 /data/xxx.txt)以便您可以以编程方式读取/写入其内容。这就是为什么你会得到Permission denied错误,因为您的程序没有访问其他文件的权限。这里的关键是你需要确保chmod命令本身通过管道传输到su命令,以便该命令不会被拒绝。我建议阅读下面链接中的指南,因为它非常全面地介绍了如何处理需要以 root 身份运行的情况。

Source: 操作方法苏 http://su.chainfire.eu/#how

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在已 root 的 Android 设备上读取或写入 /data 中的文件 [关闭] 的相关文章

  • Android Studio Profiler 中显示“无可调试进程”

    当我尝试在 Android Studio 中使用探查器时 我能够看到已连接的设备 但在探查器中收到 无可调试进程 有人可以帮助我为什么我收到 不可调试的进程 吗 您可以尝试以下任意 全部操作 使缓存失效并重新启动Android Studio
  • 如何在从另一个活动调用一个活动时延迟一些?

    我有一个应用程序 其中我正在接收包含他的位置的短信 收到短信后 它会调用另一个活动来启动并将该位置传递给该活动以将其绘制在地图上 在调用第二个活动之前 它会显示一个类似于通知的吐司在屏幕上 但由于调用第二个活动 吐司没有出现 我的问题是我们
  • 在 docker 容器内创建 android 模拟器时出现“sh: 1: file: not found”

    我正在尝试在 docker 容器内创建一个 android 模拟器 但遇到了一些问题 SDK 更新和 AVD 创建成功 我尝试创建模拟器 出现以下错误 emulator avd test 22 no skin no audio no win
  • Android Studio 1.2.1.1 中 Gradle 项目刷新失败

    我在全新安装的 Android Studio v 1 2 1 1 上创建了示例项目 但遇到了以下错误消息 Gradle project refresh failed in Android Studio 1 2 1 1 见下图 所以我试图在谷
  • 如何以编程方式启用编辑文本的垂直滚动条

    我正在尝试实施android scrollbars vertical 通过 Java 代码在 XML 中 我尝试过方法setVerticalScrollBarEnabled true 但它不起作用 有人可以给我一个建议吗 提前致谢 您可以使
  • 如何在 Android 中启用/禁用日志级别?

    例如 我有很多日志语句需要调试 Log v TAG Message here Log w TAG WARNING HERE 在设备电话上部署此应用程序时 我想关闭详细日志记录 我可以在其中启用 禁用日志记录 The Android 文档对日
  • PinnedHeader Google 加上 GridView?

    背景 Google google 应用程序可以很好地查看 亮点 类别中的图像 对于该屏幕上的每个部分 他们制作了一个标题 其中包含可单击的文本和一个用于选择该部分的所有照片的按钮 对于每个部分 他们还以网格状方式显示照片 它是这样的 这是另
  • Kotlin + Room:java.lang.IllegalArgumentException:void 无法转换为元素

    我试图在我的 Java Kotlin 项目中添加 Room 但是当我尝试编译该项目时 它失败了 app kaptDebugKotlin出现以下错误 e java lang IllegalStateException failed to an
  • 使用 Backstack 时 TabLayout ViewPager 未加载 [重复]

    这个问题在这里已经有答案了 我在一个片段中使用 TabLayout 和 viewPager 在选项卡下方的两个片段之间切换 当我单击下部片段之一内的 FAB 时 我会加载一个新片段 用于输入 但是 当我按 后退 按钮时 TabLayout
  • 使用 Android Exoplayer 调整 Dash 流音量

    我正在尝试设置一个搜索栏来控制 exoplayer 流式破折号实例的级别 我正在使用的设置是演示项目的修改版本 并且无法确定我应该尝试影响搜索栏输出的哪个元素 即如何正确使用 MSG SET VOLUME 等 任何意见将不胜感激 我正在寻找
  • 对超类方法的调用应该是第一个语句吗?

    语音识别的结果可以在onActivityResult int requestCode int resultCode Intent data 方法 如图这个例子 http developer android com resources sam
  • 如何在 Android 上通过 RTMP 进行流式传输?

    我正在尝试在远程服务器上播放视频文件 视频格式为flv 服务器为Flash Media Server3 5 我将通过 RTMP 连接到服务器并使用 Android Media Player 实现视频文件的播放 真的吗 可能吗 任何帮助都是我
  • 如何为 App Store 添加关联域? - App Store Connect 的 app-ads.txt 文件

    如您所知 Admob 向发布商发送了有关 app ads txt 文件的电子邮件 Admob 在电子邮件中表示 因此 我们邀请您仔细检查您的 app ads txt 文件 如果 您已经在发布日期之前发布了一份 文件 应发布在列出的网站的根目
  • 尝试在 android 中使用 Google Maps Android API v2 显示 StreetView 但无法使其正常工作

    我很长时间以来一直在尝试在 Android 中显示特定位置的街景 但不幸的是未能成功 我需要的是 如果我向地图提供位置 LAT LONG 它应该显示该特定位置的街景 以下是显示地图 3D 地图 混合地图 卫星视图等的工作代码 但不显示街景
  • 在 Android KitKat 中接收彩信

    所以这个视频Android 4 4 短信 API http www youtube com watch v mdq0R2WQssQ DevBytes 解释了 KitKat 中 SMS API 的最新变化 他们还提供了示例项目的链接 http
  • 如何在android上使用xamarin表单执行脚本

    我正在尝试在 Android Mono 上使用 Xamarin Forms 运行 C 脚本 当我运行脚本时 我收到错误 System IO FileNotFoundException 找不到文件 mscorlib dll 这是我试图执行的代
  • Android SSH 示例代码

    我想创建一个 android 活动 用于与远程设备 通过 Wifi 建立 SSH 会话并在远程设备上执行一些 Linux 命令 任何人都可以获得一个快速 简短的示例 用于使用以下命令进行连接 身份验证和发送远程命令Trilead https
  • 如何在flutter上关注android tv应用程序中的列表视图项目

    我想在 flutter 中构建一个 android 电视应用程序 几乎所有事情都已完成 但一个问题是我无法集中注意力 例如一些弹出效果或边框更改任何告诉用户您现在正在使用此项目的内容 我们在列表视图中迭代的项目 我想要在应用程序中看到的图像
  • 使 autocompletetextview 看起来像 edittext

    我正在使用 AutoCompleteTextView Roboto 自动完成文本视图 https github com johnkil Android RobotoTextView blob master robototextview sr
  • 什么是 Android DecorView?

    http developer android com reference android view Window html getDecorView http developer android com reference android

随机推荐

  • 在 C++ 应用程序中使用纯 C(非类包装)函数时是否存在任何问题?

    我计划在 C 应用程序中使用纯 C MPI 库 我不想通过运行例如添加不必要的膨胀 Boost MPI 层将所有内容包装在MPI
  • 如何在Flutter中更改按钮主题的文本颜色

    如果我向我的应用程序添加一个主题 如下所示 class MyApp extends StatelessWidget override Widget build BuildContext context return MaterialApp
  • 使用 _renderItem 类型会破坏自动完成字段

    我有一个 jQuery 自动完成字段 到目前为止一直运行良好 我决定使用 renderItem因为我想在结果中使用一些 HTML 这是我的代码 function prepareClientField var renderItemFuncti
  • Android 中的*窗口焦点*什么时候会改变?

    在我的项目中 我需要捕捉窗口焦点的变化 我已经注销了活动所有阶段的结果 当屏幕亮起时 结果如下 02 17 13 50 03 898 DEBUG InquiryInterface 3829 onCreate screen state fal
  • Java HashMap 调整大小的时间复杂度

    我想知道时间复杂度是多少Java HashMap当负载因子超过阈值时调整大小 据我了解 HashMap 的表大小始终是 2 的偶数次幂 因此每当我们调整表大小时 我们不需要重新散列所有键 如果我错了 请纠正我 我们需要做的就是是分配额外的空
  • 如何将Sentry与.NET 6.0 Worker Service集成?

    我综合了Sentry与 NET Core 6 0工人服务这边走 NuGet 哨兵3 17 1 Program cs using Sentry var sentryDsn Environment GetEnvironmentVariable
  • 处理宏注释时无法访问父级成员

    我有点被以下内容挡住了 宏注释 情况 假设我有一个名为 factory哪个 旨在产生一个apply相应伴随对象中带注释的特征的方法 例如 给定trait A factory trait A val a1 Int 预期生成的代码如下 obje
  • 扩展模板解析器:CodeIgniter...嵌套数组的问题

    我目前正在使用扩展模板解析器库 http codeigniter com forums viewthread 155859 对于代码点火器 我在尝试模板解析嵌套数组时遇到了问题 这是我正在向视图提供的数组 Array users gt Ar
  • 如何从 C++ 向量中获取 2 个随机(不同)元素

    我想从 std vector 中获取 2 个随机不同的元素 我怎样才能做到这一点 它很快 在我的算法中已经完成了数千次 它是优雅的 元素选择确实是均匀分布的 为了优雅和简单 void Choose const int size int fi
  • 如何为复杂的文档结构编写 MongoTemplate 查询和条件?

    我是 MongoTemplate 的新手 我想定义一个 org springframework data mongodb core query Query 和 org springframework data mongodb core qu
  • Makefile 和符号链接

    我在 makefile 方面遇到了一个奇怪的问题 我只想在 makefile 中设置符号链接 但在一台机器上收到错误消息 Linux 2 6 18 238 12 1 el5 make execvp ln Too many levels of
  • 如何在 Cocoa Mac 中以编程方式关闭窗口?

    如何以编程方式关闭 cocoa mac 中的窗口 我使用按钮单击从第一个窗口 xib 打开了第二个窗口 xib 我需要在打开或单击按钮时以编程方式关闭第一个窗口 xib 我怎样才能做到这一点 Apple 有一些有用的示例代码笔尖装载 htt
  • iconv:从 CP1252 转换为 UTF-8

    我正在尝试将 CP1252 编码的字符串 转换为 UTF 8 我尝试过这个命令 iconv c f WINDOWS 1252 t UTF 8 test txt 运气不好 得到了一些奇怪的结果 我尝试在这里输入相同的字符串 他们能够毫无问题地
  • 无法访问sql server配置管理器

    我在删除 SQL Server 2008 R2 Express 后安装了 SQL Server 2008 R2 评估版 卸载后 SQL Server 配置管理器仍然可以访问 但现在无法再访问 并出现以下错误 无法连接到 WMI 提供程序 您
  • 如何设置 VTCompressionSession 的 MaxH264SliceBytes 属性

    iOS VTCompressionSession有一个属性是kVTCompressionPropertyKey MaxH264SliceBytes 但是 我无法设置kVTCompressionPropertyKey MaxH264Slice
  • 如何扩展或覆盖 AngularJS 中现有的过滤器?

    是否可以扩展现有的 标准 过滤器 date number lowercaseETC 就我而言 我需要从 YYYYMMDDhhmmss 格式解析日期 所以我想扩展 或覆盖 date过滤而不是我自己写 我更喜欢实施装饰器模式 http en w
  • Java POS 打印机错误

    我是Java新手 我正在使用java开发POS应用程序 我为这个项目购买了一台 Epson POS 打印机 打印机型号是EPSON TM U220 我已经安装了JavaPos并且 我的代码片段如下 但运行时我收到此错误 感谢是否有人可以帮助
  • 立即音频输入和输出 Android

    在我的 Android 应用程序中 我想从智能手机的麦克风中获取一些音频并立即播放 就像麦克风一样 没有延迟 我目前正在考虑使用AudioRecord and AudioTrack课程 根据我读过的内容 但我不太确定如何继续 我查看了 St
  • devops REST API:无法使用 PATCH 方法更新工作项状态

    我正在使用 DevOps Rest api 来获取一些信息 POST 方法对我来说效果很好 我想更新我的工作项目的状态 为此 我需要使用 PATCH 方法 这不起作用 并且没有给出任何类型的错误 https learn microsoft
  • 在已 root 的 Android 设备上读取或写入 /data 中的文件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试以编程方式读取 写入已 root 的手机上 data 目录中的文件 我先来外壳执行 su确保我的程序获得超级用户访问权限 效