我正在尝试让 JavaCV 为 android 工作,以便使用 FFMPEG 库。我正在按照我在下面复制的 JavaCV网站上的 android 设置说明进行操作:
Eclipse(Android 2.2 或更高版本):按照此页面上的说明进行操作:http: //developer.android.com/training/basics/firstapp/ 转到文件 > 新建 > 文件夹,选择您的项目作为父文件夹,键入“libs/ armeabi”作为文件夹名称,然后单击完成。将 javacpp.jar 和 javacv.jar 复制到新创建的“libs”文件夹中。将 javacv-android-arm.jar、opencv-2.4.3-android-arm.zip 和 ffmpeg-1.0-android-arm.zip 中的所有 *.so 文件直接提取到新创建的“libs/armeabi”文件夹中,不创建任何新的子目录。导航到项目 > 属性 > Java 构建路径 > 库,然后单击“添加 JAR...”。从新创建的“libs”文件夹中选择 javacpp.jar 和 javacv.jar。
我正在尝试在我的代码中使用 FFmpegFrameGrabber 类。当我运行时,我从 logcat 收到此错误:
02-01 14:40:35.550: W/dalvikvm(11583): 异常 Ljava/lang/UnsatisfiedLinkError; 初始化 Lcom/googlecode/javacv/cpp/avutil 时抛出;
02-01 14:40:35.550: W/dalvikvm(11583): 异常 Ljava/lang/ExceptionInInitializerError; 初始化 Lcom/googlecode/javacv/cpp/avcodec 时抛出;
02-01 14:40:35.550: D/AndroidRuntime(11583): 关闭 VM
02-01 14:40:35.550: W/dalvikvm(11583): threadid=1: 线程以未捕获的异常退出 (group=0x40015560)
这让我相信我的 android 应用程序找不到我放在 libs/armeabi 文件夹中的 avutil.so 和 avcodec.so。但是,当我解压缩生成的 APK eclipse 时,两个 so 文件都存在。
关于这个问题的原因有什么想法吗?