如果调用者停止,Android运行时exec将停止

时间:2017-03-09 10:35:58

标签: java android shell cmd apk

我正在使用root的Android平板电脑,我想执行shell命令行。但是,如果命令启动器应用程序停止,我已经看到它们会停止。如果有任何方法可以保持shell命令的执行,尽管创建者应用程序停止了吗?

由于

这正是我想要执行的。我希望能够在我的应用程序中更新我的应用程序:

cmd我想在我的App中执行:

am force-stop myapp & install newVersionOfMyApp.apk & monkey -p myapp 1

然后,当执行命令的第一部分时,不执行休息。我已经看到这可以通过修改命令在其他操作系统中解决(windows添加" cmd"以及linux添加"&"最后)。 Android有任何等效方式吗?

2 个答案:

答案 0 :(得分:0)

您需要使用&(在命令后面)从控制台分离TTY;当命令有exit 0(成功)或exit 1(错误)时,执行将停止。运行cron-jobs根本不需要任何控制台。我基本上试图说明的是,您可能应该重新考虑如何将命令放在那里 - 而adb shell或cron不需要任何GUI。

还有adb shell monkey - 而MonkeyRunner可能(同时)被支持库中的UI Automator替换。

MonkeyUI Automator

我在bash - 在PC上用ADB写下这样的内容:

adb install -r com.acme.apk && adb shell monkey -p com.acme.AppName -v 500

答案 1 :(得分:0)

最后我找到了解决方案。您可以通过将其放在nohup命令之后执行此操作:

   Dim aktivni2 As Variant

  aktivni2 = ActiveCell.Value
  C1B = Range("C1").Value2
  adresa2 = C1B + aktivni2

  ChDir ActiveSheet.Range("c1").Value

  Workbooks.OpenText aktivni2, Origin:= _
    852, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
    , Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
    TrailingMinusNumbers:=True
   ActiveWindow.SmallScroll Down:=-3
   Columns(1).Select
   Selection.NumberFormat = "00000000"
   Range("A1").Select

已编辑@syslogic

的信息