2012-01-28 17 views
1

プログラムでこのシェルコマンドを実行します。どうしたらいいですか?シェルコマンドをプログラムで実行する

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 

答えて

2

ここで使用した構文を.batファイルに書き込んで、それを実行してください。

+0

ありがとうございます! – XXX

+0

あなたは歓迎です:) – Rotemmiz

+0

これはプログラムを実行しているシステムにアクセスできる場合には機能しますが、プログラムが不明なシステム上で実行される場合は、そのバッチファイルはほとんどありません。プログラムで作成して実行することもできますが、これはおそらくこれを実行する最善の方法ではありません。 –

7

ランタイムクラスを使用してシェルコマンドを実行できます。

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

コードの上記部分は、所定のコマンドのLSをネイティブプロセスを作成するプロセス対象として同様の処理を戻します。

それについての詳細は

Check here

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つのシェルを起動して閉じることですが、実際には問題ではありません。

第二の方法:Androidのシェルスクリプトを作成したことを覚えておいてください

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

:SDカード上のshスクリプトを送信あなたのステーションに滞在し、 "myscript.sh" を含むとそれに

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

を実行しますマイクロソフトのステーションでCRLFの行が終了している! UNIX系のシステムでLFのみを終了させる必要があります。

関連する問題