我真的卡住了。我之前安装了Tegra开发包,它工作得非常完美。所有的样本构建和运行都没有错误。我摆弄了太多的样本,它们就停止工作了。我没有备份,所以我决定最简单的选择是卸载Tegra开发包并重新安装它。自从重新安装后,我就无法让示例正常工作了。
以下是控制台输出的内容:
09:56:57 **** Incremental Build of configuration Default for project OpenCV Sample - face-detection ****
/bin/bash /ndk-build NDK_DEBUG=1 V=1
/bin/bash: /ndk-build: No such file or directory
09:56:57 Build Finished (took 81ms)我的构建路径设置为Pack自身设置的路径:${CYGWIN_HOME}/bin/bash
如果我直接指向ndk-build:/Users/jordan/NVPACK/android-ndk-r8d
10:04:56 **** Incremental Build of configuration Default for project OpenCV Sample - face-detection ****
/Users/jordan/NVPACK/android-ndk-r8d /ndk-build NDK_DEBUG=1 V=1
10:04:56 Build Finished (took 87ms)然后,我清除并构建所有项目。但是,错误仍然存在。
OpenCV管理器已正确安装在我的设备上。我可以验证这是正确的,因为如果我安装了之前从示例构建的人脸检测APK,它就会运行。
我不明白为什么它以前是有效的,但考虑到我没有改变任何东西,现在就不行了?
以下是LogCat的输出:
08-15 09:12:26.613: E/AndroidRuntime(8401): FATAL EXCEPTION: main
08-15 09:12:26.613: E/AndroidRuntime(8401): java.lang.UnsatisfiedLinkError: Couldn't load detection_based_tracker from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.opencv.samples.facedetect-1.apk"],nativeLibraryDirectories=[/data/app-lib/org.opencv.samples.facedetect-1, /vendor/lib, /system/lib]]]: findLibrary returned null
08-15 09:12:26.613: E/AndroidRuntime(8401): at java.lang.Runtime.loadLibrary(Runtime.java:355)
08-15 09:12:26.613: E/AndroidRuntime(8401): at java.lang.System.loadLibrary(System.java:525)
08-15 09:12:26.613: E/AndroidRuntime(8401): at org.opencv.samples.facedetect.FdActivity$1.onManagerConnected(FdActivity.java:66)
08-15 09:12:26.613: E/AndroidRuntime(8401): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1106)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1123)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.os.Handler.handleCallback(Handler.java:730)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.os.Handler.dispatchMessage(Handler.java:92)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.os.Looper.loop(Looper.java:137)
08-15 09:12:26.613: E/AndroidRuntime(8401): at android.app.ActivityThread.main(ActivityThread.java:5103)
08-15 09:12:26.613: E/AndroidRuntime(8401): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 09:12:26.613: E/AndroidRuntime(8401): at java.lang.reflect.Method.invoke(Method.java:525)
08-15 09:12:26.613: E/AndroidRuntime(8401): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-15 09:12:26.613: E/AndroidRuntime(8401): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-15 09:12:26.613: E/AndroidRuntime(8401): at dalvik.system.NativeStart.main(Native Method)我将非常感谢任何帮助我让它再次工作的人。
编辑: 4.3上的OS X 10.8.4 - Nexus 4和4.1.2上的Xperia SP
接下来,我将尝试在我的XP虚拟机上安装Tegra开发包。
更新:在我的XP虚拟机上再次完美工作。至少现在我可以继续我的工作了。
发布于 2013-08-16 13:34:20
无论出于什么原因,您在启动eclipse时都没有让NDKROOT指向ndk路径。
检查: 1、是否使用TADP安装ndk。2.检查~/..MacOSX/environment.plist ment.plist(由xcode打开),~/..bash_profile,~/..bash_rc。TADP安装程序应该在这些文件中为您编写变量NDKROOT。
https://stackoverflow.com/questions/18249638
复制相似问题