Android:如何在 root 设备上执行 chmod

发布于 2024-10-10 17:44:52 字数 247 浏览 4 评论 0原文

我将在已取得 root 权限的 Android 2.1 设备上执行命令

字符串路径=“/data/data/com.android.providers.settings/databases/settings.db”; Runtime.getRuntime().exec("/system/bin/chmod -f 777 " + 路径);

但该命令对目标文件没有任何作用。有什么想法吗?

I would execute a command on my rooted Android 2.1 device

String path = "/data/data/com.android.providers.settings/databases/settings.db";
Runtime.getRuntime().exec("/system/bin/chmod -f 777 " + path);

But this command does nothing on the targeted file. Any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

木有鱼丸 2024-10-17 17:44:52

RootTools 库提供了简单的方法来检查 root 并发出 root 命令:

RootTools.isRootAvailable()
List<String> output = RootTools.sendShell(command);

http://code.google.com /p/roottools/

The RootTools library offers simple methods to check for root and issue root commands:

RootTools.isRootAvailable()
List<String> output = RootTools.sendShell(command);

http://code.google.com/p/roottools/

韵柒 2024-10-17 17:44:52

您需要首先以 root 用户身份获取运行时。 Google 代码上提供的 MarketEnabler 源中有一个很好的 ShellInterface 类,您可以使用它。但请记住,该源代码是在 GPL 下发布的。

本质上,您需要做的是确定 su 命令的位置,并使用 STDIN 和 STDOUT 的输入流和输出流创建一种 shell。有了这些,您就可以将命令推送到“终端”。完成所有命令后,刷新缓冲区,然后等待运行时完成。完成后,您可以关闭运行时界面。

然后查看您尝试创建/修改/等的文件,看看一切是否正常。

You need to get the runtime as the root user first. There is a nice ShellInterface class that you can use from the MarketEnabler source available on Google Code. Though keep in mind this source code is released under the GPL.

Essentially what you need to do is determine where your su command is and create a kind of shell using an input stream and output stream for STDIN and STDOUT. With these you can then push your commands to your "terminal". When you are done all your commands, flush your buffer and then wait for the Runtime to complete. Once it is completed, you can then close your runtime interface.

Then take a look at the file you have tried creating/modifying/etc to see if everything worked properly.

神经大条 2024-10-17 17:44:52

Bao Le 我相信您正在尝试在 Android 应用程序中删除 shell 命令,在这里(在 Android 应用程序中运行 Android 本机代码)是从应用程序运行命令的多种方法中的几种。

Bao Le I believe you are trying to drop shell commands in an Android App, here (Running Android Native Code in your Android app)are few of many ways to run a command from an app.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文