小编Jua*_*ado的帖子

解决亚行“等待设备”问题

我们正在为我们的 Android 开发设置一个持续集成服务器,我们很快就遇到了 ADB 的等待设备问题。

为了记录,我们已经尝试了很多、、 等的组合adb kill-server,但都无济于事。adb start-serveradb devices

可悲的是,我在互联网上发现的所有内容都是“拔出并重新插入设备”的变体,这显然不是我们的解决方案(我们不能让一个人坐在 CI 服务器旁拔出和重新插入设备之前每个构建)。

作为一点背景知识,我们在 Mac 上使用 Jenkins,因为它也为 iOS 运行我们的 CI。

在解决这个问题时,我认为如果在操作系统级别找到了设备,那至少是一个开始。实际上,运行类似system_profiler SPUSBDataType成功找到设备的命令,包括 ADB 在正常工作时报告的序列号。

我尝试了一些相当蹩脚的命令来“刷新”所有 USB 活动,但我无处可去。并不是说您可以挂载/卸载设备,但说实话,我什至不确定问题出在哪里,我对低级 USB 协议了解不够,更不用说 Mac 了。我对ADB 源代码潜伏期非常长。

所以在这一点上,我非常期待一个解决方案,它可以让我们在我们的 CI 服务器上持续运行 Android。无论是在每个 Jenkins 工作之前的几个命令,修补 ADB 或任何其他黑魔法。

android jenkins

9
推荐指数
2
解决办法
4万
查看次数

java -version 不写入标准输出?

要么我在做一些愚蠢的事情,要么 Sun 是。怎么会像这样:

java -version > version.txt
Run Code Online (Sandbox Code Playgroud)

仍然打印到标准输出并将 version.txt 留空?我正在检查退出代码,它仍然是 0,所以这不是写入 stderr。

我需要这个,因为我正在构建一个测试环境工具并想检查 Java 的版本是否足够,我计划捕捉该版本的输出,但现在我被卡住了。

我使用的是 OS X Leopard,Java 版本 1.6.0_20。

有任何想法吗?

java stdout macos

2
推荐指数
2
解决办法
1453
查看次数

标签 统计

android ×1

java ×1

jenkins ×1

macos ×1

stdout ×1