2016-07-01 11 views
1

私はQtとOpenCVでAndroidアプリを作っています。qtプロファイルのlibopencv_java3.so

D/dalvikvm(8059): Trying to load lib /data/app-lib/com.myselfxyz.testapp-1/libTestApp.so 0x421b4f98 
E/dalvikvm(8059): dlopen("/data/app-lib/com.myselfxyz.testapp-1/libTestApp.so") failed: Cannot load library: soinfo_link_image(linker.cpp:1673): could not load library "libopencv_java3.so" needed by "libTestApp"; caused by load_library(linker.cpp:771): library "libopencv_java3.so" not found 

私のデバイス上でアプリケーションをデプロイした後、 libopencv_java3.soファイルをして次のlibTestApp.soに位置しています:それは、デスクトップLinux上で作業していて、これでAndroid上で失敗している

/data/app-lib/com.myselfxyz.testapp-1ディレクトリなので、私はそれを見つけられませんでした。

私が使用している:

  • のAndroid NDK r10e
  • OpenCVの-のAndroid-SDK 3.1.0
  • Qtのキット:armeabi-v7a(GCC 4.9、Qtの5.5.1)
  • を私の携帯電話はAndroidバージョン4.2.2ですが、それは重要ではないと思います。

マイqtのプロファイルは次のようになります。

TEMPLATE = app 
TARGET = TestApp 

CONFIG += mobility c++11 
MOBILITY += sensors 

QT += qml quick widgets declarative sensors core multimedia 

SOURCES += main.cpp \ 
    bridge.cpp \ 
    imageprocessor.cpp 

INCLUDEPATH += /usr/lib/jvm/java-7-openjdk-i386/include \ 
    /usr/lib/jvm/java-7-openjdk-i386/include/linux \ 

linux:!android { 
    INCLUDEPATH += /opt/OpenCV/include/ 
    LIBS += -L/opt/OpenCV/build/lib \ 
     -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio 
} 

android { 
    QT += androidextras 
    ANDROID_OPENCV = /opt/OpenCV-android-sdk/sdk/native 
    INCLUDEPATH += $$ANDROID_OPENCV/jni/include 
    ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android 
    LIBS += -L$$ANDROID_OPENCV/libs/armeabi-v7a \ 
     -L$$PWD/android/libs/armeabi-v7a \ 
     -L$$OUT_PWD \ 
     -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect \ 
     -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab \ 
     -lopencv_java3 
} 

RESOURCES += qml.qrc 

# Additional import path used to resolve QML modules in Qt Creator's code model 
QML_IMPORT_PATH = 

# Default rules for deployment. 
include(deployment.pri) 

HEADERS += \ 
    bridge.h \ 
    imageprocessor.h 

DISTFILES += \ 
    android/AndroidManifest.xml \ 
    android/res/values/libs.xml \ 
    android/src/com/myselfxyz/testapp/JniExport.java \ 
    android/src/com/myselfxyz/testapp/TestApp.java 

ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android 

答えて

0

この答えは、あなたがすでにOpenCVのせずにアプリケーションを実行するために管理し、そのすべての残りの部分はそれに応じて設定されている前提としています。

プロジェクト設定に移動し、「ビルドステップ」を見つけます。

という名前のステップが必要です。Android APKを作成してください。 詳細をクリックしてください。 追加ライブラリリストにlibopencv_java3.soを追加します。通常は\sdk\native\libs\armeabi-v7aフォルダにあります。

関連する問題