我想找到一种方法来创建可以使用adb shell或类似方法发送到我的应用程序的命令。通过这种方式,我可以对程序进行一些小的更改,而无需在每次更改任何内容时重新加载应用程序。
有没有办法打开adb shell并向正在运行的应用程序发送命令?
如果那是不可能的,那么将命令发送到我的应用程序的可能方法是什么,以便我可以执行诸如(移动UI元素)或(从URL创建文件)或许多其他内容的操作。 ..基本上我希望能够将字符串命令发送到我的应用程序.....
如果我可以使用命令行工具来做到这一点,那将是很好的。否则最好的办法是什么?
答案 0 :(得分:5)
在adb shell中输入am
。您可以启动活动和服务以及发送广播意图。没有参数会打印使用信息。
如果要从脚本调用此功能,可以从主机执行adb shell am <command>
。
答案 1 :(得分:3)
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端口转发,但这可能只是过度杀伤。