나는 공유 객체를 가지고 있는데, libfoo.so라고 부르며 NDK에 대해 컴파일됩니다. 나는 자바 프로젝트, 나는 항아리로 내보내는 것이 항아리 안드로이드 응용 프로그램에서 원시 공유 객체를로드하는 방법은 무엇입니까?
System.loadLibrary("Foo");
를 호출하여 해당 공유 객체를 사용한다 자바 프로젝트를 (내가 'jarlib'를 부를 것이다), 그리고 안드로이드 응용 프로그램에서 사용할 수 있습니다. 공유 객체에 대한 모든 비트를 주석 처리하면 jar 파일이 올바르게 작동하고 완벽하게 상호 작용할 수 있습니다.
jarlib를 Unity android 응용 프로그램의 공유 객체와 함께 ./lib/armeabi/libFoo.so의 공유 객체와 함께 사용할 수 있으며 모든 peachy를로드합니다.
내 unity 안드로이드 애플 리케이션에서 jarlib과 libFoo.so를 사용하려고합니다. 그리고 loadLibrary는 libFoo.so를 찾기를 절대적으로 거부합니다. 나는 ./lib뿐만 아니라 ./lib/armeabi에있는 apk에 포함될 것이므로 배치하려고 시도했다. 아무것도로드 호출을하는 것처럼 보이지 않는다.
나는 ./lib에서 libFoo.so 또는 jarlib의 ./lib/armeabi 포함했지만, 내가 빌드하려고하면/내 안드로이드 응용 프로그램을 실행 한은, 나는 말했다 해요 :
The library 'jarlib.jar' contains native libraries that will not run on the device.
The following libraries were found:
- libFoo.so
그것은 ./lib에 있다면이와
, 내가 누락 어떤 조합 모르겠지만, 나는 그것을 할 수 있습니다 확신
Additionally some of those libraries will interfer with the installation of the application because of their location in lib/
lib/ is reserved for NDK libraries.
을 (./lib/armeabi되지 않음), 나는 단지 그것을하는 방법을 알아낼 수없는 것!