OSGI Bundle-NativeCode给出错误“找不到本机代码的匹配”
我正在开发一个使用本机库librxtxSerial的OSGI包。 第一次,我不得不在树莓上部署这个包,所以我做了类似的事情:
我把本机库放在:lib / librxtxSerial.so(NB:INSIDE java项目)。
然后,在MANIFEST我写道:
Bundle-NativeCode: lib/librxtxSerial.so
一切正常!!!
现在,问题是我要在使用不同处理器架构的其他嵌入式设备上部署相同的捆绑包(x86而不是ARM)。
所以,我已经下载了librxtxSerial库的x86版本,并修改了我的文件夹结构:
- lib - x86 - librxtxSerial.so - arm - librxtxSerial.so
我用这种方式修改了我的MANIFEST:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le
尝试编译(通过maven tycho插件)我总是得到同样的错误:
No match found for native code: lib/x86/librxtxSerial; processor=x86, lib/arm/librxtxSerial; processor=ARM_le
我怎么解决这个问题?
好的,我已经解决了。 不知道为什么但是为了解决这个问题足以在标题的末尾添加’*’,所以:
Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le, *
它现在有效。