2014-02-10 4 views
0

프로젝트에서 .so 파일을 사용하는 방법을 모르겠습니다. 그래서 ffmpeg.so 파일을 다운로드 했으므로 이제 내 솔루션에 추가해야하므로 내 장치에서 비디오 형식을 변환 할 수 있지만 어떻게 작동하는지 모릅니다. 이 파일을 추가하는 방법에 대한 인터넷 튜토리얼을 찾았지만 아무것도 작동하지 않는 것 같습니다..so 파일을 android 솔루션에 추가하십시오.

.so 파일을 가지고 있기 때문에 여전히 C 코드를 컴파일하려면 Android NDK가 필요합니까?

좋은 자습서는 어떻게하면 내 솔루션에이 라이브러리를 추가 할 수 있습니까?

+0

이렇게하면 원하는 작업이 가능합니까? [ndk-how-to-use-a-generated-so-library-in-another-project] (http://stackoverflow.com/questions/5669220/ndk-how-to-use-a-generated-so- library-in-another-project) – bornruffians

+0

라이브러리에서 Java API를 제공하지 않으면 NDK를 사용하여 Java API를 만들어야합니다. android 앱에 .so 파일을 추가하는 작업은 간단합니다. 간단히 말해서/libs 폴더에 추가하고 런타임에 System.loadLibrary (ffmpeg.so) 명령을 사용하여로드하십시오. –

+0

로드 할 때 System.loadLibrary ("ffmpeg.so"); 이 오류가 발생했습니다 로더 dalvik.system.PathClassLoader에서 ffmpeg.so를로드 할 수 없습니다 [DexPathList [[zip 파일 "/data/app/com.example.untitled-1.apk"],nativeLibraryDirectories=[/data /app-lib/com.example.untitled-1,/vendor/lib,/system/lib]]] : findLibrary returned null – user3292775

답변

0

libffmpeg.so이라는 파일을 프로젝트의 서브 디렉토리 libs/armeabi에 넣으십시오. 자신의 C/C++ 소스가 없다면 NDK가 필요하지 않습니다.

때때로 실수는 Android 이름의 기대치를 충족시키지 못하는 경우입니다. 이름은 lib으로 시작하고 .so으로 끝나야합니다.

+0

아무 것도 아니요 – user3292775

+0

세부 정보를 제공하십시오. 다운로드 한 라이브러리는 Android 용이며 ** armeabi ** 용입니까? 빌드 한 APK 파일 (확장자가 변경된 ZIP 파일)을 살펴보십시오. 안에 포장 된 ffmpeg 라이브러리가 보이십니까? APK를 설치할 때 시스템 로그에 라이브러리가'/ data/app-lib/com.example.untitled-1'에 추출 되었음이 표시됩니까? –

+0

나는 그것을 얻을 수 있었다. 오류가 libs/libffmpeg.so주고 라이브러리에 경로를 제공 할 때. libs 디렉토리는 exsist가 아니라 lib/libffmpeg.so를 써야합니다. 'System.load (this.getBaseContext(). getApplicationInfo(). dataDir + "/lib/libffmpeg.so"); ' – user3292775

관련 문제