私は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