使用java在linux上使用adb命令触发器

时间:2016-04-07 16:52:29

标签: java linux adb

我必须在Linux平台上运行的模拟器设备上运行intent广播。我正在使用java进行编码。下面是我为了达到同样的目的而编写的代码行

Process p = Runtime.getRuntime().exec(new String[]{"adb", "shell", "am", "broadcast", "-a", "\"<package name>.SWITCH_ENVIRONMENT\"", "--es ENVIRONMENT", "\""+Build+"\"" });
Thread.sleep(200);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while((line = reader.readLine())!=null){
   System.out.println(line+"\n");
}

但我在控制台输出中得到的只有:

无法绑定tcp:5037

adb服务器已过期。杀死...

1 个答案:

答案 0 :(得分:0)

  

adb服务器已过期。杀死...

可能有两个adb二进制文件。 java程序可能会从您的模拟器以外的其他位置获取adb。你可以查看你的PC中有多少adb二进制文件。

在您的终端中尝试以下内容并仅维护一个adb二进制文件 -

which adb - 查看当前正在运行的adb文件夹。

locate adb,并从您的sdk文件夹中删除adb以外的adb