我在 Android 上玩 OpenCV。我曾经能够让示例应用程序在运行 4.0.X 的 Galaxy Nexus 上运行,但自从升级到 Jelly Bean 4.1.X 后,它们不再工作了。我还尝试在我的 Droid 2 上运行带有 Android 2.3.4 的示例,这也是不行的。他们在我运行 2.3.3 的 HTC Evo 4G 上工作。
我正在使用 OpenCV 2.4.2。我可以看到应用程序启动时会尝试加载 libnative_camera_r*.so。它尝试加载以下内容之一:
07-24 10:15:24.394: E/CAMERA_ACTIVITY(6688): ||libnative_camera_r2.3.3.so
07-24 10:15:24.394: E/CAMERA_ACTIVITY(6688): ||libnative_camera_r4.0.3.so
07-24 10:15:24.394: E/CAMERA_ACTIVITY(6688): ||libnative_camera_r2.2.0.so
07-24 10:15:24.394: E/CAMERA_ACTIVITY(6688): ||libnative_camera_r3.0.1.so
07-24 10:15:24.394: E/CAMERA_ACTIVITY(6688): ||libnative_camera_r4.0.0.so
很明显,.so 文件的版本与 Android 版本有关。Android 2.3.4 和 4.1.X 不在列表中,因此它没有加载必要的库。
我的问题:A)我在哪里可以找到必要的 .so 文件?B)我可以采取哪些步骤来为这些版本构建自己的库?c) 我可以欺骗系统使用以前的版本,比如 4.0.3 到 4.1 吗?(我将对此进行更多调查)
谢谢