我正在尝试运行以下代码:
String[] hin1 = { "su", "-c",
"mount -o remount,rw -t yaffs2 /dev/block/mtdblk3 /system" };
try {
Runtime.getRuntime().exec(hin1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] hin2 = { "su", "-c", "m /system/etc/hosts" };
try {
Runtime.getRuntime().exec(hin2);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] hin = { "su", "-c",
"cp /sdcard/hosts /system/etc/" };
try {
Runtime.getRuntime().exec(hin);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}遗憾的是,只有当我为每个动作创建一个新按钮时,它才能正常工作。:(
有没有办法一次运行多个命令??
谢谢
发布于 2012-02-19 14:59:53
我不这么认为,它也可以工作,我尝试了以下代码:
public class GainrootActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void gainroot(View view)
{
String[] hin1 = { "su", "-c","chmod 777 dev/test1" };
try {
Runtime.getRuntime().exec(hin1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}命令su -c chmod777 dev/test1 (用于更改开发目录中一个日志文件的权限)的唯一按钮,但它不起作用。this.Can有什么问题?有人指出缺少了什么。我甚至还在Androidmanifest.xml中添加了这一行
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />Rgds,Saurabh
发布于 2011-01-31 07:31:09
根据su命令的实现方式(例如,如果它启动的是一个功能强大的shell,就像在更典型的linux上一样),您可以通过使用分号将多个命令组合到一个字符串中。
您还可以创建一个包含多个命令的shell脚本,并使用su来启动它,不过您可能需要将它放在一个可执行的位置。
发布于 2011-04-07 12:33:17
您不能让一个命令在下一个命令开始之前完成。尝试在exec后面添加waitFor:
Runtime.getRuntime().exec(hin1).waitFor();https://stackoverflow.com/questions/4846241
复制相似问题