2014-02-26 1 views
1

우분투에서 ndk r7을 사용하여 libcurl을 빌드하고 libcurl.so.5.3.0을 얻으려고합니다. 해당 soname은 libcurl.so.5입니다. 그리고 libcurl.so를 사용하는 libxxx.so도 있습니다. System.loadLibrary ("curl")를 사용할 때; 및 System.loadLibrary ("xxx"); 안드로이드 애플 리케이션에서, 나는 E/AndroidRuntime (361) : 일으켰습니다 : java.lang.UnsatisfiedLinkError : libcurl.so.5를로드 할 수 없습니다 : findLibrary가 null을 반환했습니다. 누구든지 soname없이 libcurl.so를 빌드하거나 soname libcurl.so를 만들거나 Java에서 libcurl.so.5를로드하는 방법을 알고 있습니까? libcurl 빌드가 끝날 무렵에는 -Wl, -soname -Wl, libcurl.so.5 -o .libs/libcurl.so.5.3.0이라는 줄이 있습니다. 나는 이것이 어디서 비롯되는지 모른다. 고마워요!soname없이 libcurl 빌드

답변

2

libcurl.so.5는 libcurl.so.5의 소프트 링크이고 System.loadLibrary는 실제 libcurl.so.5를 찾을 수 없습니다.

시도해 볼 수 있습니다. libcurl.so.5의 이름을 libcurl.so로 바꿉니다. 그리고 자바에서 다시로드 해보십시오.

또 다른 방법은 libcurl.so 대신 libcurl.a를 사용하여 프로젝트에 빌드 할 수 있습니다. 그래서 더 이상 Java에서 libcurl.so를로드 할 필요가 없습니다.

희망이 있습니다.