以编程方式执行shell命令

时间:2012-01-28 13:02:49

标签: android shell adb

我想通过程序执行这个shell命令。我该怎么办?

cd C:\android-sdk\platform-tools
adb shell
su
mount -t rfs -o remount,rw /dev/block/stl9 /system
cp /sdcard/MyApp.apk /system/app/MyApp.apk

3 个答案:

答案 0 :(得分:7)

我们可以使用Runtime类执行shell命令。

Runtime.getRuntime().exec("ls");

上面的代码将为给定命令 ls 创建一个本机进程,将返回与进程对象相同的进程。

有关它的更多详细信息Check here

答案 1 :(得分:2)

您应该在.bat文件中编写您使用的确切语法,然后执行它。

答案 2 :(得分:1)

看来你在微软电台上,所以考虑使用批处理会给你这个:

第一种方法:留在您的工作站并发送有用的命令

cd C:\android-sdk\platform-tools
adb shell "su -c 'mount -o rw,remount /system'"
adb shell "su -c 'cp /sdcard/MyApp.apk /system/app/MyApp.apk'"
adb shell "su -c 'mount -o ro,remount /system'"

唯一的问题是你将发射和关闭3个炮弹,但它并不是真的和问题。

第二种方法:留在你的电台上发送sdcard上的sh脚本并执行它

cd C:\android-sdk\platform-tools
adb push myscript.sh /sdcard/
adb shell "su -c 'sh /sdcard/myscript.sh'"

使用" myscript.sh"包含:

#!/system/bin/sh
mount -o rw,remount /system
cp /sdcard/MyApp.apk /system/app/MyApp.apk
mount -o ro,remount /system

请记住,在Microsoft工作站上创建的Android shell脚本已经结束了CRLF行! 你需要让LF只在系统上的UNIX上结束你的行!