8

我想找到一种方法来创建可以使用 adb shell 或类似工具发送到我的应用程序的命令。通过这种方式,我可以对我的程序进行一些小的更改,而不必每次更改任何内容时都重新加载我的应用程序。

有没有办法打开 adb shell 并向正在运行的应用程序发送命令?

如果那是不可能的,那么向我的应用程序发送命令的可能方法是什么,这样我就可以执行诸如(移动 UI 元素)或(从 URL 创建文件)或其他一些事情......本质上我希望能够向我的应用程序发送字符串命令.....

如果我能用命令行工具做到这一点,那就太好了。否则有什么好的方法来解决这个问题?

4

2 回答 2

7

在 adb shell 中,键入am. 您可以启动活动和服务以及发送广播意图。没有参数将打印使用信息。

adb shell am <command>如果您想从脚本中调用它,您可以从主机执行此操作。

于 2011-04-27T23:23:25.883 回答
4

adb shell am选项可能是最干净/最好/最棒的选项,但您可以在应用程序中设置一个线程来检查 SD 卡上是否存在特定文件。类似的东西(不要在没有严重修改的情况下使用此代码):

public void run()
{
   File f = new File("/sdcard/appcommands");
   while(!stop){
      if(f.exists()){
         // read file
         // obey commands
         // remove file or use some other timing monitor
      }
   }
}

那么你就可以用它adb push来写命令文件了。确实效率低下,但它可以在紧要关头工作。您还可以做更复杂的事情,例如创建本地 TCP/HTTP 服务器和使用 adb 端口转发,但这可能只是矫枉过正。

于 2011-04-27T23:27:42.193 回答