0

我在我的应用程序中制作了一些执行 bash cmd 的按钮。

这是我的字符串:

    final String[] test = {"su","-c","echo test > /system/test.txt"};

这个 cmd 有效,事实上,我可以在 /system/ 上看到 test.txt 文件,里面有 test 行。

我的问题是:当我按下 exec 的 cmd 按钮时,设备会创建一个带有字符串“echo test /system/text.txt”的吐司。我猜这是由于“-c”,无论如何:

    final String[] test = {"su","echo test > /system/test.txt"};

将不起作用,并且:

    final String[] test = {"su","-c","echo test > /system/test.txt >> /dev/null"};

将无法正常工作并创建一个显示“echo test /system/test.txt /dev/null”的吐司

有什么办法可以避免这个“问题”?

另外,当我单击执行它的按钮时,任何人都可以向我展示一个用旋转轮创建吐司的小功能吗?

谢谢!!!

4

1 回答 1

-1

这份手册摘录su应该可以解决您关于-c选项的问题:

-c, --command=COMMAND pass a single COMMAND to the shell with -c

final String[] test = {"su","-c","echo test > /system/test.txt >> /dev/null"}; 

将无法工作,因为 Android 没有/dev/null设备。为了让它工作,你需要有一个-c选择之后su摆脱/dev/null. 您可以改用 android API 来删除此文件。

于 2013-01-25T11:20:38.410 回答