두 개의 프로젝트가 있습니다. Project1 및 Project2. 원시 코드를 사용하는 중 오류가 발생했습니다.
static {
System.loadLibrary("thelibraryname");
}
내가 Project2에 네이티브 메소드를 사용하여 프로젝트 1의 클래스에서 메소드를 호출 프로젝트 2의 빌드 경로에 프로젝트 1을 추가 : 프로젝트 1가에 포함 된 네이티브 코드를 사용합니다. Project2를 실행하는 경우 그러나, 나는 오류가 점점 오전 :
Exception in thread "main" java.lang.UnsatisfiedLinkError: no thelibraryname in java.library.path
내 이클립스 프로젝트의 디렉토리 struture는 다음과 같습니다
Project1
Android 1.6
Android Dependancies
src/
bin/
libs/
armeabi/
libthelibraryname.so
armeabi-v7a/
libthelibraryname.so
x86/
libthelibraryname.so
<some-other-dirs-and-files>
Project2
src/
Testing.java
Junit
JRE System Library
내가 오류가 네이티브 코드와 함께 할 수있는 뭔가가 있음을 발견했다. 아마도 어딘가에서 네이티브 코드에 대한 참조를 제공해야하지만 어떻게 찾을 수 없었습니다. eclipse는 런타임시 컴파일 타임에 오류를 나타내지 않습니다.
내가 해결할 수있는 아이디어가 있습니까? :)
편집 : 32 비트 JRE와 64 비트 플랫폼에서 실행하고
- .
- 시도 : -Djava.library.path =/path/to/lib/x86 (및 witharmeabi-v7a 및 armeabi). 하지만 아무 것도 바뀌지 않았습니다. 여기
이를 실행하는 일을 할 것인가? 32 비트 JRE를 사용하고 있습니까? –
'-Djava.library.path =/path/to/lib/folder'로 실행 해 보셨습니까? –
우선, java.library.path 속성의 값을 인쇄 해보십시오. 도서관의 위치가 위에 있지 않으면 그 위치가 맞는지 확인해야합니다. – Arkadiy