3

すべての適切なプラグインをダウンロードした後、OpenCV4Android の最新バージョンである 2.4.5 バージョンをダウンロードし、Eclipse Juno にインポートしました。

ネイティブ アクティビティを除くすべてのチュートリアルは、私の Android エミュレーターで問題なく動作します。エミュレーターで実行しようとすると、「OCV ネイティブ アクティビティは残念ながら停止しました」というメッセージが表示されてアプリケーションが停止します。

そして、私のlogcatは次のとおりです。

05-05 13:24:54.489: E/AndroidRuntime(884): FATAL EXCEPTION: main
05-05 13:24:54.489: E/AndroidRuntime(884): java.lang.UnsatisfiedLinkError: Couldn't load native_activity from loader dalvik.system.PathClassLoader[dexPath=/data/app/org.opencv.samples.NativeActivity-2.apk,libraryPath=/data/app-lib/org.opencv.samples.NativeActivity-2]: findLibrary returned null
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.System.loadLibrary(System.java:535)
05-05 13:24:54.489: E/AndroidRuntime(884):  at org.opencv.samples.NativeActivity.CvNativeActivity$1.onManagerConnected(CvNativeActivity.java:22)
05-05 13:24:54.489: E/AndroidRuntime(884):  at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1101)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1118)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Handler.handleCallback(Handler.java:725)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.os.Looper.loop(Looper.java:137)
05-05 13:24:54.489: E/AndroidRuntime(884):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.reflect.Method.invokeNative(Native Method)
05-05 13:24:54.489: E/AndroidRuntime(884):  at java.lang.reflect.Method.invoke(Method.java:511)
05-05 13:24:54.489: E/AndroidRuntime(884):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-05 13:24:54.489: E/AndroidRuntime(884):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-05 13:24:54.489: E/AndroidRuntime(884):  at dalvik.system.NativeStart.main(Native Method)

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

0

最初に lib をコンパイルしてみてください。Android プロジェクトのルートを入力して実行するだけです。

/home/user/android-ndk-r8b/ndk-build -C ./

他の例

/home/user/android-ndk-r8b/ndk-build -C /home/user/opencv/OpenCV-2.4.5-android-sdk/samples/face-detection

これにより、フォルダーにlibが構築されます。

/home/user/opencv/OpenCV-2.4.5-android-sdk/samples/face-detection/libs/armeabi-v7a/libdetection_based_tracker.so

便利なリンク: android_dev_introO4A_SDK & android

于 2013-05-28T00:53:07.980 に答える
0

エミュレーターがネイティブ ライブラリを見つけられない

                        System.loadLibrary("native_activity");

最初に openCV_sdk から apk をインストールする必要があります。ファイルはサンプルにあります

    example-native-activity.apk

その後、eclipse でコードを操作できます。

于 2013-05-05T14:23:35.327 に答える