首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从java执行adb命令

从java执行adb命令
EN

Stack Overflow用户
提问于 2012-06-21 19:26:36
回答 1查看 8.8K关注 0票数 5

我想将文件从Java程序推送到Android模拟器。现在,我可以使用ProcessBuilder启动模拟器,还可以捕获日志猫消息。但是,每当我试图在进程构建器中使用adb push命令时,进程挂起,并且没有生成任何输出。

代码:

代码语言:javascript
复制
try {
    ProcessBuilder proc = new ProcessBuilder("D://android-sdk//platform-tools//adb.exe",
                                             "push D:\\final.xml /mnt/sdcard/final.xml");
    Process p = proc.start();
    BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ( (line = br2.readLine()) != null)
        System.out.println(line);
} catch (Exception e) {
    System.err.println("Error");
}

编辑:-找到可能的解决方案。我使用的是Process.waitFor()方法,但没有存储它返回的退出代码。现在当我这样做的时候:

代码语言:javascript
复制
int exitVal = p.waitFor();

每件事都像是一种魔力。

和@Marc Van Daele感谢您的意见。根据我的经验,ProcessBuilder有两种工作方式,即。您可以使用由空格或逗号分隔的参数。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 19:36:06

这不应该是像这样的单独的参数吗

代码语言:javascript
复制
ProcessBuilder proc = new ProcessBuilder("D://android-sdk//platform-tools//adb.exe", "push",  "D:\\final.xml", "/mnt/sdcard/final.xml");
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11137131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档