如何从jar中读取ADB响应?

时间:2018-11-13 10:23:37

标签: java android adb

我正在尝试批处理某些应用程序的安装,我想逐个应用程序进行安装。 我试图将adb命令响应放入我的Java程序中,但是我无法理解为什么我没有从df.corr() 中得到任何东西!

这是我的测试代码:

                    A         B    Medium      High  Medium-High
A            1.000000  0.490608  0.914322 -0.312309    -0.743459
B            0.490608  1.000000  0.343620  0.548589    -0.945367
Medium       0.914322  0.343620  1.000000 -0.577350    -0.577350
High        -0.312309  0.548589 -0.577350  1.000000    -0.333333
Medium-High -0.743459 -0.945367 -0.577350 -0.333333     1.000000

我发现此答案无效,并且我也无法正确使用InputStream

我也尝试了answers from here的大多数,但是我测试的那些都不起作用。当我没有连接或安装失败时,我成功读取了错误,但在安装结束时,未读取提示消息import java.io.IOException; import java.io.InputStream; public class main_adbStreamTest { public static void main(String[] args) { // TODO Auto-generated method stub try { Process pro = Runtime.getRuntime().exec("platform-tools\\adb.exe -s " + args[0] + ":5555 install -r " + args[1]); // + " >> " + SBCWLogger.getFileHandlerName() //add installation verification InputStream is = pro.getInputStream(); int i = 0; while( (i = is.read() ) != -1) { System.out.print((char)i); } //verification done } catch (IOException e) { e.printStackTrace(); } } } 。这就是我想要的。

编辑:感谢Onix的回答,以下代码可以正常工作。

pro.getInputStream()

要获得著名的Success,只需将流写入文件并读取最后一行。

1 个答案:

答案 0 :(得分:0)

尝试一下

Process process = new ProcessBuilder("Full path to adb", "-s", args[0], "install", "-r", args[1]).start();    
InputStream is = process.getInputStream();