Android:如何将Instrumentation APK安装到无头主机的AVD上

Sha*_*ver 6 continuous-integration android bamboo

我正在尝试将Android JUnit测试与Bamboo Ant构建集成.我已经在本地测试了设置,我可以运行测试.

但是当我在Bamboo服务器上尝试相同的设置时,运行测试时出现以下错误:

INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.synapticstuff.guitartabs/pl.polidea.instrumentation.PolideaInstrumentationTestRunner}
INSTRUMENTATION_STATUS_CODE: -1
android.util.AndroidException: INSTRUMENTATION_FAILED: com.synapticstuff.guitartabs/pl.polidea.instrumentation.PolideaInstrumentationTestRunner
Run Code Online (Sandbox Code Playgroud)

请注意,我使用自定义库进行检测(http://code.google.com/p/the-missing-android-xml-junit-test-runner/),以便我可以提取JUNit xml测试结果和Feed它到竹子.

此外,用于创建构建的构建代理是一个Ubuntu VM,它没有任何GUI,因此我需要通过命令行完成所有操作.AVD已在该VM上运行.

当我第一次在adb shell am instrument .. <snip>本地运行命令时,我确实遇到了同样的问题,我发现从Eclipse运行测试后它的工作很奇怪.

查看错误日志,Android Instrumentation Framework文章告诉我

"您的设备上可能没有安装instrumentation apk,或者Manifest文件中的包名称不正确."

所以必须是没有安装instrumentation apk.

那么,如何将仪器apk安装到AVD上?

谢谢!

小智 2

还有一个可能的原因:Manifest 文件中的包名称不正确。

首先检查单元测试项目的清单文件中的包名称!