0

アプリケーション内でコマンドを実行しようとしています。私はRootToolsと呼ばれるライブラリを使用してそれを行っています。私が使用しているコマンドは次のとおりです。

RootTools.getShell(true).add(new CommandCapture(0, 'dd if=boot.img of=/dev/block/platform/omap/omap_hsmmc.0/by-name/boot')).waitForFinish();

Eclipseデバッグモードを有効にすると、アプリケーションは正常に動作します。ただし、通常モードを実行すると、その行は機能しませんでした。

このクラスはAsyncTaskを使用しており、 onPostExecute()というメソッドでメインタスクが完了すると、別のコマンドを実行できます。

どのモードでも、onPostExecuteメソッドが完全に機能することに気づきました。ただし、メインメソッドであるdoInBackground()ではありません。

Thread.sleepを配置して遅延を追加しようとしましたが、それも役に立ちませんでした。

4

2 に答える 2

1

そのコマンドを実行するときにRootToolsデバッグをオンにしてみて、logcatのデバッグ出力を調べて、コマンドが実行されていることを確認してください。

RootTools.debugMode = true;

于 2012-09-12T12:17:27.613 に答える
0

次のように、この問題を取り除くために関数で非同期タスクを使用してみてください

private void anyfunction()
   {
     new AsyncTask().execute();
    }  
于 2012-08-24T06:37:48.327 に答える