添加libvlcjni.so时,QT Android应用程序在启动时崩溃

时间:2016-04-02 22:36:25

标签: android qt libvlc

我想将libvlc与Android QT应用程序一起使用,但应用程序始终在启动时崩溃。

为了确保它不是编译问题,我从这个项目中复制了libvlcjni.so:https://github.com/mzafers/QtVlcMediaPlayer,但是继续遇到同样的问题,应用程序在启动时崩溃了。同样也是官方vlc APK中的libvlcjni.so。

最后,我做了一个虚拟项目,只有默认的Quick QML项目,并且只添加了带有ANDROID_EXTRA_LIBS的库,但同样的情况发生了:

main.cpp中:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
   QGuiApplication app(argc, argv);
   QQmlApplicationEngine engine;
   engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
   return app.exec();
}

main.qml:

    import QtQuick 2.4
    import QtQuick.Controls 1.3

    ApplicationWindow {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")

        menuBar: MenuBar {
            Menu {
                title: qsTr("File")
                MenuItem {
                    text: qsTr("&Open")
                    onTriggered: console.log("Open action triggered");
                }
                MenuItem {
                    text: qsTr("Exit")
                    onTriggered: Qt.quit();
                }
            }
        }

        Label {
            text: qsTr("Hello World")
            anchors.centerIn: parent
        }
    }

TestLibVLC.pro:

    TEMPLATE = app
    QT += qml quick
    CONFIG += c++14
    SOURCES += main.cpp
    RESOURCES += qml.qrc
    QML_IMPORT_PATH =
    include(deployment.pri)
    VLCLIB_PATH = D:/libs/VLC
    contains(ANDROID_TARGET_ARCH,armeabi-v7a) {
        ANDROID_EXTRA_LIBS = \
            $${VLCLIB_PATH}/android/armeabi-v7a/libvlcjni.so
    }

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

同时将QT += multimedia添加到.pro文件