0

我真的被困住了。我之前安装了 Tegra Development Pack,它一切正常。所有示例都构建并运行,没有错误。我把样品弄得太乱了,他们停止了工作。我没有备份,所以我决定最简单的选择是卸载 Tegra Development Pack 并重新安装它。由于重新安装它,我无法让样本工作。

这是控制台输出的内容:

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)

我的构建路径设置为包自己设置的内容:${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 Manager 已正确安装在我的设备上。我可以验证这是正确的,因为如果我安装之前从示例中构建的人脸检测 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)

我将非常感谢为使这项工作再次正常工作所提供的任何帮助。

编辑:OS X 10.8.4 - Nexus 4 on 4.3 & Xperia SP on 4.1.2

接下来我将尝试将 Tegra Development Pack 安装到我的 XP 虚拟机上。

更新:在我的 XP 虚拟机上再次完美运行。至少现在我可以继续我的工作。

4

1 回答 1

0

无论出于何种原因,您在启动 eclipse 时都没有 NDKROOT 指向 ndk 路径。

检查: 1、你是否通过TADP安装了ndk。2.检查~/.MacOSX/environment.plist(由xcode打开)、~/.bash_profile、~/.bash_rc。TADP 安装程序应该在这些文件中为您编写变量 NDKROOT。

于 2013-08-16T05:34:20.427 回答