2014-06-24 5 views
0

애플릿에 기본 라이브러리를 포함해야합니다. 모든 것은 .dll이있는 Windows에서 작동하지만 .so와 함께 Linux에서는 작동하지 않습니다. 나는 모든 자원을 애플릿에 서명하고 적절한 JNLP 파일을 만든 : 리눅스에 대한.so 파일을 읽는 동안 System.loadLibrary가 멈 춥니 다.

<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 만 test.so 파일 META-INF 기호 데이터를 포함합니다.

애플릿은 예외없이 다음 행에 고정됩니다. System.loadLibrary ("test");

누군가이 문제를 해결하기 위해 도움을 요청할 수 있습니까? 더 많은 도움이되는 정보를 제공해야하는지 알려주세요.

이미 다음 주제를 확인했습니다. Java System.loadLibrary call on Linux freezes 다음 테스트를 수행했습니다. 별도의 메인 클래스를 작성하여 .so를로드하려고 시도했으나 정상적으로 작동합니다.

+0

* ".. 적절한 jnlp 파일을 만들었습니다."* JaLeLA를 사용하여 JNLP를 먼저 확인하십시오 (https://drive.google.com/folderview?id=0B5B9wDXIGw9lUnJaUjA2cmlVRE0). 그런 다음 출력에 빨간색/분홍색 오류 줄이 없는지 확인한 후 여기에 [질문 수정] (http://stackoverflow.com/posts/24381475/edit)으로 게시하십시오. –

+0

답변 해 주셔서 감사합니다. 귀하의 도구를 사용하여 전체 jnlp를 검사하고 있습니다. 나는 내 jnlp 파일의 일부를 보여주기 위해이 게시물을 편집했다 (내 기본 라이브러리를 다운로드해야 함). – rholovakha

+0

* "내 jnlp 파일의 일부를 보여줍니다 .."* 전체 파일을 표시하십시오. JaNeLA 도구가보고 한 오류가 있습니까? –

답변

0

linux 용 test.jar에는 test.so 파일과 META-INF 서명 데이터 만 들어 있습니다.

lib 이름은 libtest.so 여야합니다.

+0

고맙습니다. 이것은 문제였습니다. 나는 그 반대의 경우를 가졌다. 내 .so libtest.so 이름을 가지고,이 경우에는 System.loadLibrary ("test")를 사용해야합니다. – rholovakha