我会在我的根 Android 2.1 设备上执行一个命令
字符串路径 = "/data/data/com.android.providers.settings/databases/settings.db"; Runtime.getRuntime().exec("/system/bin/chmod -f 777" + 路径);
但是这个命令对目标文件没有任何作用。任何想法?
RootTools 库提供了检查 root 和发出 root 命令的简单方法:
RootTools.isRootAvailable()
List<String> output = RootTools.sendShell(command);
您需要首先以 root 用户身份获取运行时。您可以从Google Code 上的 MarketEnabler 源中使用一个不错的 ShellInterface 类。尽管请记住,此源代码是在 GPL 下发布的。
本质上,您需要做的是确定您的su命令在哪里,并使用 STDIN 和 STDOUT 的输入流和输出流创建一种 shell。有了这些,您就可以将您的命令推送到您的“终端”。完成所有命令后,刷新缓冲区,然后等待运行时完成。完成后,您可以关闭运行时界面。
然后查看您尝试创建/修改/等的文件,看看是否一切正常。
Bao Le 我相信您正在尝试在 Android 应用程序中删除 shell 命令,这里(在您的 Android 应用程序中运行 Android 本机代码)是从应用程序运行命令的众多方法中的几种。