2017-10-06 52 views
1

我已经把我的libffmpegutils.so文件中: libs-> armeabiUnsatisfiedLinkError在Android项目ffmpegutils

现在,当我尝试处理视频,我需要的第一件事就是加载ffmpeg的和我有代码行:

System.loadLibrary("ffmpegutils"); 

而对于我得到的崩溃:

java.lang.RuntimeException: 
    at android.os.AsyncTask$3.done (AsyncTask.java:309) 
    at java.util.concurrent.FutureTask.finishCompletion (FutureTask.java:354) 
    at java.util.concurrent.FutureTask.setException (FutureTask.java:223) 
    at java.util.concurrent.FutureTask.run (FutureTask.java:242) 
    at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:234) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588) 
    at java.lang.Thread.run (Thread.java:818) 
Caused by: java.lang.UnsatisfiedLinkError: 
    at com.video.converter.util.VideoEngine.convertvideo (Native Method) 
    at video.format.converter.view.ViewVideo$CompressTask.doInBackground (ViewVideo.java:384) 
    at video.format.converter.view.ViewVideo$CompressTask.doInBackground (ViewVideo.java:1) 
    at android.os.AsyncTask$2.call (AsyncTask.java:295) 
    at java.util.concurrent.FutureTask.run (FutureTask.java:237) 

这是什么意思,以及如何修复崩溃?

回答

1

UnsatisfiedLinkError表示未找到或无法正确读取当前体系结构的库。

让您的本机库的目录project/app/src/main/jniLibs/

project/app/src/main/jniLibs/armeabi/libffmpegutils.so

还要确保设备体系结构相匹配。

如果您使用的是eclipse,请按照下面的回答:https://stackoverflow.com/a/8650545/5137352

+0

好的我会试试。对于Eclipse IDE,该文件夹将位于与libs/res/raw文件夹相同级别的项目的根目录下? – Sandeep

+0

不建议使用eclipse。在eclipse上检查指南答案中的链接。 –

+0

好的,在这个链接https://code.tutsplus.com/tutorials/advanced-android-getting-started-with-the-ndk--mobile-2152在步骤2:创建项目中,我读到:At这个项目的最高层,创建一个名为“jni”的目录 - 这是你放置你的本地代码的地方。这应该解决我UnsatisfiedLinkError的问题 – Sandeep