Android에서 수동으로 컴파일 된 OpenAL 공유 라이브러리를 사용하려고합니다.Android NDK : OpenAL 공유 라이브러리를 사용할 때 UnsatisfiedLinkError
mylibs 폴더에서include $(CLEAR_VARS)
LOCAL_MODULE:=openal
LOCAL_SRC_FILES:=../mylibs/libopenal.so
LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/include/AL
include $(PREBUILT_SHARED_LIBRARY)
나는 3 개 개의 파일이 있습니다
lrwxr-xr-x 21:12 libopenal.so -> libopenal.so.1
lrwxr-xr-x 21:12 libopenal.so.1 -> libopenal.so.1.13.0
-rwxr-xr-x 22:33 libopenal.so.1.13.0
모든 것이 잘 준수하지만, 런타임에 내가이 오류를 얻을 :
이E/AndroidRuntime(13604): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1848]: 1296 could not load needed library 'libopenal.so.1' for 'libopenaltest.so' (load_library[1120]: Library 'libopenal.so.1' not found)
E/AndroidRuntime(13604): at java.lang.Runtime.loadLibrary(Runtime.java:370)
E/AndroidRuntime(13604): at java.lang.System.loadLibrary(System.java:535)
E/AndroidRuntime(13604): at com.hz.openal.OpenActivity.<clinit>(OpenActivity.java:10)
E/AndroidRuntime(13604): ... 15 more
사람이이 문제를 도와 줄 수 있습니까?
.so 파일의 숫자 버전 접미사는 일반적으로 안드로이드 빌드 시스템이 그런 식으로 버전을 지정하지 않으므로 android 용으로 빌드 된 라이브러리가 아님을 강력하게 제안합니다. 대부분의 경우 개발 기계 또는 기타 안드로이드 타깃을 위해 구축 된 라이브러리를 사용하려고 시도하고 있으며 이는 작동하지 않을 것입니다. 'readelf'명령으로 라이브러리 아키텍처를 (어느 정도) 점검 할 수 있습니다. 대부분의 경우 ndk 빌드 시스템 또는 최소한 안드로이드 컴파일러 (독립 실행 형 툴체인)를 사용하여 라이브러리를 다시 빌드해야합니다. –
android 호환 객체 인 경우에도 sym 링크가 포장 및 설치. –
고마워, 나는 도서관을 재건하려고 노력할 것이다. –