我真的被困住了。我以前安装了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 Manager已正确安装在我的设备上。我可以验证这是正确的,因为如果我安装了我之前从示例中构建的Face-Detection 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& 4.1.2上的Xperia SP
接下来我将尝试将Tegra开发包安装到我的XP虚拟机上。
更新:在我的XP虚拟机上再次完美运行。至少现在我可以继续工作了。
答案 0 :(得分:0)
查找无论什么原因,当你启动eclipse时,你没有NDKROOT指向ndk路径。
检查: 1.您是否通过TADP安装了ndk。 2.检查〜/ .MacOSX / environment.plist(由xcode打开),〜/ .bash_profile,〜/ .bash_rc。 TADP安装程序会在这些文件中为您编写变量NDKROOT。