关于Robolectric对JNI的支持问题

Robolectric最新版不支持JNI库和调用,官方已确认此问题。这使得依赖JNI的Android应用单元测试变得困难。虽然有临时解决方案,如在测试初始化时设置系统属性,但在实际应用中仍无法调用JNI native方法。目前,Android开发中的TDD流程完美解决方案尚未出现,主要受Android运行环境复杂性的限制。
摘要由CSDN通过智能技术生成

首先明确,目前最新版Robolectric3是不支持任何JNI lib和调用的,可以参见:

http://stackoverflow.com/questions/10425591/robolectric-tanks-on-application-objects-that-load-jni-libraries-can-i-get-a-wo

和官方github issue:

https://github.com/robolectric/robolectric/issues/1171

以上两者都明确说明了,目前作者还不知道怎么实现对Native libraries的支持。只能对未来保持憧憬和期待吧。。。

对于比较复杂的应用来说,不支持JNI这件小事会直接导致Robolectric单元测试变的很鸡肋吧!瞬间就残了!

不过stackoverflow上一位外国哥们给出了折衷(将就)的方案,也算是个办法:

大概意思是在测试方法的初始化阶段配置系统property为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值