我必须在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
服务器已过期。杀死...
答案 0 :(得分:0)
adb服务器已过期。杀死...
可能有两个adb
二进制文件。 java程序可能会从您的模拟器以外的其他位置获取adb
。你可以查看你的PC中有多少adb二进制文件。
在您的终端中尝试以下内容并仅维护一个adb二进制文件 -
which adb
- 查看当前正在运行的adb
文件夹。
locate adb
,并从您的sdk文件夹中删除adb
以外的adb
。