我需要在我的applet中包含本机库。一切都在Windows上使用.dll,但在使用.so的Linux上不起作用。我签署了applet及其所有资源并创建了适当的jnlp文件:
<resources os="Windows" arch="x86_64">
<nativelib href="dll/com/Windows_x64/test.jar"/>
</resources>
<resources os="Linux" arch="amd64">
<nativelib href="dll/com/Linux_x64/test.jar"/>
</resources>
<resources os="Linux" arch="x86_64">
<nativelib href="dll/com/Linux_x64/test.jar"/>
</resources>
<resources os="Linux" arch="x86">
<nativelib href="dll/com/Linux_x32/test.jar"/>
</resources>
<resources os="Linux" arch="i386">
<nativelib href="dll/com/Linux_x32/test.jar"/>
</resources>
test.jar for linux仅包含test.so文件和META-INF签名数据。
applet卡在下一行,没有任何异常: 的System.loadLibrary( “测试”);
有人可以帮忙/给我一个解决这个问题的提示吗?如果我需要提供更多有用的信息,请告诉我?
我已经检查了以下主题: Java System.loadLibrary call on Linux freezes 并做了以下测试:创建一个单独的主类并尝试加载我的.so,它工作正常。
答案 0 :(得分:0)
test.jar for linux仅包含test.so文件和META-INF签名数据。
lib的名称应该是libtest.so。