Deployment problem with quick on android target



  • This simple project works fine in Windows7 desktop but crashes in Android device(Nexus 7). I am using
    Qt5,2 RC1
    adt-bundle-windows-x86_64-20131030
    android-ndk-r9b

    PROJECT:
    @
    TEMPLATE = app
    TARGET = guytestdevdays

    QT += qml quick widgets
    SOURCES += main.cpp
    RESOURCES += morph.qrc
    @

    QRC,QML:
    @
    <RCC>
    <qresource prefix="/">
    <file>qml/BusySpinner.qml</file>
    <file>qml/images/busy.png</file>
    </qresource>
    </RCC>
    @
    @
    import QtQuick 2.1

    Image {
    width: 64; height: 64
    function processStartHandler() {
    console.log("analysis started...")
    }
    source: "images/busy.png"
    }
    @

    SOURCE:
    @
    #include <QApplication>
    #include <QtQuick/QQuickView>
    #include <QHBoxLayout>
    #include <QPushButton>

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    QWidget* xwidget = new QWidget;                     // the central widget
    QPushButton* spinButton = new QPushButton("spin");
    
    // A little QML animation
    QQuickView *qmlBusyView = new QQuickView;
    qmlBusyView->setSource(QUrl("qrc:/qml/BusySpinner.qml"));
    QObject* busyspinner = (QObject*)qmlBusyView->rootObject();
    QObject::connect(spinButton, SIGNAL(clicked()), busyspinner, SLOT(processStartHandler()) );
    
    QHBoxLayout mainLayout(xwidget);
    QWidget* busyContainer = QWidget::createWindowContainer(qmlBusyView, 0);     // new in Qt5.1
    busyContainer->setMinimumSize(64, 64);
    busyContainer->setMaximumSize(64, 64);
    mainLayout.addWidget(busyContainer);
    mainLayout.addWidget(spinButton);
    xwidget->show();
    
    return app.exec();
    

    }
    @

    If I comment out
    mainLayout.addWidget(busyContainer);
    it runs on Android, and successfully connects to the QML busySpinner with a log message when the button is clicked. But the busy.png image is not rendered.

    Any help would be greatly appreciated!

    ERRORS:
    @
    I/Adreno-EGL(28724): <qeglDrvAPI_eglInitialize:320>: EGL 1.4 QUALCOMM build: (CL3776187)
    I/Adreno-EGL(28724): OpenGL ES Shader Compiler Version:
    I/Adreno-EGL(28724): Build Date: 10/15/13 Tue
    I/Adreno-EGL(28724): Local Branch:
    I/Adreno-EGL(28724): Remote Branch: partner/upstream
    I/Adreno-EGL(28724): Local Patches:
    I/Adreno-EGL(28724): Reconstruct Branch:
    D/Qt (28724): qtcpserverconnection.cpp:173 (void QTcpServerConnection::listen()): QML Debugger: Waiting for connection on port 52925...
    D/Qt (28724): fontdatabases\basic\qbasicfontdatabase.cpp:246 (static QStringList QBasicFontDatabase::addTTFile(const QByteArray&, const QByteArray&)): FT_New_Face failed with index 0 : 90
    W/Adreno-EGL(28724): <qeglDrvAPI_eglMakeCurrent:2918>: EGL_BAD_MATCH
    E/libEGL (28724): eglMakeCurrent:775 error 3009 (EGL_BAD_MATCH)
    W/Qt (28724): eglconvenience\qeglplatformcontext.cpp:119 (virtual bool QEGLPlatformContext::makeCurrent(QPlatformSurface*)): QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x74f10f68
    @


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.