【发布时间】:2015-05-21 21:56:48
【问题描述】:
我知道有很多与此类似的问题,但由于 JavaCV 等库的开发,其中很多似乎已经过时。
我使用来自Video Creation with Images and Audio in Android 的代码来创建电影,但我在导入库时遇到了问题。
我按照 JavaCV 页面说的做了,我把依赖放在了 gradle 中:
compile group: 'org.bytedeco', name: 'javacv', version: '0.9'
现在,我不知道我是否需要做其他事情?
我已经使用了这些导入:
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacpp.opencv_core.IplImage;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import static org.bytedeco.javacpp.opencv_highgui.cvLoadImage;
并得到这个错误:
Caused by: java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
at org.bytedeco.javacpp.Loader.load(Loader.java:387)
at org.bytedeco.javacpp.Loader.load(Loader.java:353)
at org.bytedeco.javacpp.avformat.<clinit>(avformat.java:13)
at org.bytedeco.javacv.FFmpegFrameRecorder.<clinit>(FFmpegFrameRecorder.java:106)
at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:46)
at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:21)
和
Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:217)
和
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jniavutil from loader dalvik.system.PathClassLoader[dexPath=/data/app/voidstudio.app-1.apk,libraryPath=/data/app-lib/voidstudio.app-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:521)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535)
at org.bytedeco.javacpp.Loader.load(Loader.java:410)
我在配置中错过了什么吗?我见过类似的问题,但没有正确的答案。
【问题讨论】:
-
我也有同样的问题,你找到解决办法了吗?
-
不行,这个问题可能和JavaCV的新版本有关