应用程序在调试但运行时工作正常

时间:2012-08-24 03:07:29

标签: android android-asynctask root

我正在尝试在应用程序中执行命令。我正在使用名为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来添加一些延迟,但这也无济于事。

2 个答案:

答案 0 :(得分:1)

在运行该命令时尝试打开RootTools调试,并通过检查logcat中的调试输出来验证该命令是否正在执行。

RootTools.debugMode = true;

答案 1 :(得分:0)

尝试在函数中使用Async任务来解决此问题,如下所示

private void anyfunction()
   {
     new AsyncTask().execute();
    }