无法打开符号文件。错误(20):不是目录

无法打开符号文件。错误(20):不是目录

问题描述:

我在android上使用ffmpeg库来流式传输实时视频源。我已经遵循roman10 instructions遵守ffmpeg for android。该应用程序工作正常 - 它连接到服务器,下载馈送,转码,重新调整它并显示在设备的屏幕上。然而,在一定的随机时间后,该应用程序崩溃与Fatal signal 11 (SIGSEGV), code 1。我使用ndk-stack来查找问题的根源。这里是故障转储:无法打开符号文件。错误(20):不是目录

********** Crash dump: ********** 
Build fingerprint: 'google/hammerhead/hammerhead:5.0.1/LRX22C/1602158:user/release-keys' 
pid: 25241, tid: 25317, name: AsyncTask #5 >>> com.grzebyk.streamapp <<< 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x98e74c9c 
Stack frame #00 pc 00047924 /data/app/com.grzebyk.streamapp-1/lib/arm/libswscale-3.so: Unable to open symbol file /Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/libswscale-3.so. Error (20): Not a directory 
Stack frame #01 pc 00034be8 /data/app/com.grzebyk.streamapp-1/lib/arm/libswscale-3.so (sws_scale+2648): Unable to open symbol file /Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/libswscale-3.so. Error (20): Not a directory 

我的本机代码位于StreamApp.cpp文件中。对我来说,它看起来应用程序试图访问位于libStreamApp.so中的libswscale-3.so(ffmpeg的一部分)。这对我来说似乎很奇怪...

所有ffmpeg的.so文件都位于/libs/armeabi/lib*.so中。当然,这包括“缺少”libswscale-3.so。最令人不安的是应用程序运行良好,但它突然崩溃,并且不需要任何特定的触发器来这样做。

我该怎么做才能将libswscale-3.so放入labStreamApp.so中,或避免引用另一个.so文件?

这是相当简单的,你已经通过

“/Users/grzebyk/Documents/New_Eclipse_Projects/StreamApp/libs/armeabi/libStreamApp.so/”

为ndk-参数堆栈,显然这不是:)你应该通过一个文件夹不便像

“/用户/ grzebyk /文档/ New_Eclipse_Projects/StreamApp /库/ armeabi /”