Android中的FFmpeg:UnsatisfiedLinkError:无法加载库:reloc_library:无法定位' log2f'

时间:2014-09-09 02:43:59

标签: android ffmpeg

编译移植FFmpeg在ubuntu中使用NDK,编译成功后,在eclipse下运行会出现“无法定位'log2f”错误

  

09-09 12:03:31.152:W / dalvikvm(31395):异常Ljava / lang / UnsatisfiedLinkError;在初始化Lcom / example / ffmpegtest / MainActivity时抛出;

     

09-09 12:03:31.152:W / dalvikvm(31395):newInstance调用中的类初始化失败(Lcom / example / ffmpegtest / MainActivity;)

     

09-09 12:03:31.162:W / dalvikvm(31395):threadid = 1:线程退出时未捕获异常(group = 0x40ce12d0)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):致命异常:主

     

09-09 12:03:31.162:E / AndroidRuntime(31395):java.lang.ExceptionInInitializerError

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.Class.newInstanceImpl(Native Method)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.Class.newInstance(Class.java:1319)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.Instrumentation.newActivity(Instrumentation.java:1023)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1874)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1984)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.ActivityThread.access $ 600(ActivityThread.java:126)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1150)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.os.Handler.dispatchMessage(Handler.java:99)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.os.Looper.loop(Looper.java:137)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):在android.app.ActivityThread.main(ActivityThread.java:4456)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.reflect.Method.invokeNative(Native Method)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.reflect.Method.invoke(Method.java:511)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:787)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at dalvik.system.NativeStart.main(Native Method)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):引起:java.lang.UnsatisfiedLinkError:无法加载库:reloc_library [1287]:143找不到'log2f'...

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.Runtime.loadLibrary(Runtime.java:370)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at java.lang.System.loadLibrary(System.java:535)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):at com.example.ffmpegtest.MainActivity。(MainActivity.java:23)

     

09-09 12:03:31.162:E / AndroidRuntime(31395):... 15更多

1 个答案:

答案 0 :(得分:0)

使用V = 1再次运行您的ndk构建,B切换并检查构建日志是否存在链接错误。

运行调试版本并将调试apk安装到设备(而不是模拟器)

看你是否得到同样的错误?

狂野猜测是你会的。

然后你必须追查你的链接没有包含log2f lib的原因。