2017-06-13 74 views
0

我正在使用Jenkins的'在AWS设备场上运行测试后构建操作在设备场中的设备中运行Espresso Android Instrumentation测试。该应用程序使用本地JNI库来创建JPEGS以外的TIFF图像。AWS设备农场+咖啡:运行Espresso仪器测试涉及AWS设备场中的本机JNI方法调用

但是,只要执行本机函数的代码得到执行,应用程序就会崩溃。即使我只是在设备场中的其中一个设备上运行该应用,当我单击调用本地JNI功能的按钮时,该应用也会崩溃。

我收到在日志中以下错误: 产生的原因:java.lang.UnsatisfiedLinkError中:dlopen的失败:无法找到符号“兰特”,由“libtiff.so”引用...

也越来越以下JNI在时间,当事情变得初始化

  • 没有JNI_OnLoad在libnativehelper.so为0x0发现跳过初始化
  • 试图加载LIB libjavacore.so为0x0
  • CheckJN较早点相关的日志我关闭

我想知道是否在AWS设备场中默认禁用JNI库加载。如果是的话,有没有办法启用它们。如果默认支持JNI库,有人可以请我指出正确的方向,以便我可以解决此问题。

回答

0

我为AWS设备农场团队工作。

  1. 在设备场中未禁用JNI库加载。
  2. 可能是您看到的问题的潜在原因之一是,我们在上传时会在应用程序末尾提交​​应用程序,这可能会破坏Google地图等内容。请参阅常见问题“你修改我的应用程序?” https://aws.amazon.com/device-farm/faq/

此外,请确保您能够在本地真实设备上加载此应用程序并成功启动它。这会给你一个比较基准。

希望有所帮助。

+0

非常感谢@NikofTime。 该应用程序在本地真实设备上工作。 JNI没有使用任何Google Play服务。这是一个简单的用本机写成的图像压缩库。不知道为什么它会崩溃。任何指针将真正被赞赏。再次感谢:) – thrust

+0

你碰巧知道是否需要在设备上启用任何设置?除了设置和辞职之外,我无法想象应用程序会崩溃的任何原因,除非有兼容性错误实际上是因为应用程序在其他设备上测试而被捕获的。 – NikofTime

+0

没有特别的设定。这是一个简单的图像压缩应用程序。 AWS Device Farm中迄今为止测试的所有设备都发生了崩溃。所以不确定它是否是特定于设备的 – thrust

相关问题