我想按程序执行此shell命令。我该怎么做?以编程方式执行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
我想按程序执行此shell命令。我该怎么做?以编程方式执行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
您应该在.bat
文件中编写您在此使用的确切语法,然后执行它。
我们可以使用Runtime类执行shell命令。
Runtime.getRuntime().exec("ls");
上面的代码段将创建一个天然过程对于给定的命令LS,将返回相同的过程,过程对象。
有关它的详细信息Check here
看来您是Microsoft站上使用批处理会给你会这样考虑:
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个炮弹,但它不是真的和问题。
第二个方法:保持你的站上SD卡发送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
记住,Android的shell脚本创建在微软站上有CRLF行结束! 您需要获得LF才能像UNIX系统一样在UNIX上结束您的行!
非常感谢! – XXX 2012-01-28 13:26:20
不客气:) – Rotemmiz 2012-01-28 13:28:59
如果您有权访问正在运行该程序的系统,但是如果您的编程将在未知系统上运行,那么它很可能不会拥有该批处理文件。你可以通过编程创建它,然后执行它,但这可能不是实现此目的的最佳方式。 – 2013-03-04 18:55:45