Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt 5.3.1 fails on Android

Qt 5.3.1 fails on Android

Scheduled Pinned Locked Moved Mobile and Embedded
5 Posts 3 Posters 4.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Esperantisto
    wrote on last edited by
    #1

    I just updated from 5.3 to 5.3.1 and now my UI doesn't show up. When the QML file is loaded I get the following errors on output:

    bq. D/Qt (10987): qtcpserverconnection.cpp:173 (void QTcpServerConnection::listen()): QML Debugger: Waiting for connection on port 52475...
    D/Qt (10987): fontdatabases/basic/qbasicfontdatabase.cpp:239 (static QStringList QBasicFontDatabase::addTTFile(const QByteArray&, const QByteArray&, QSupportedWritingSystems*)): FT_New_Face failed with index 0 : 90
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=40
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=81
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=10
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=37
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=45
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=56
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=58
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=59
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=61
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=65
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=72
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=84
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=94
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=510
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=774
    W/Qt (10987): ../gui/text/qfontengine_ft.cpp:894 (QFontEngineFT::Glyph* QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, uint, QFixed, QFontEngine::GlyphFormat, bool) const): load glyph failed err=24 face=0x790886f8, glyph=227
    W/Adreno-ES20(10987): <process_gl_state_enables:511>: GL_INVALID_ENUM

    Any ideas?

    1 Reply Last reply
    0
    • C Offline
      C Offline
      claudiom
      wrote on last edited by
      #2

      Same problem here :(

      1 Reply Last reply
      0
      • C Offline
        C Offline
        claudiom
        wrote on last edited by
        #3

        The problem comes from using of QML's Screen or using of QScreen in the main.cpp.
        Have you used one of the above?

        1 Reply Last reply
        0
        • C Offline
          C Offline
          claudiom
          wrote on last edited by
          #4

          You can use this code:
          @
          #ifdef Q_OS_ANDROID
          QAndroidJniObject qtActivity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
          QAndroidJniObject resources = qtActivity.callObjectMethod("getResources", "()Landroid/content/res/Resources;");
          QAndroidJniObject displayMetrics = resources.callObjectMethod("getDisplayMetrics", "()Landroid/util/DisplayMetrics;");
          QAndroidJniObject configuration = resources.callObjectMethod("getConfiguration", "()Landroid/content/res/Configuration;");

              int screenLayout = configuration.getField<int>("screenLayout");
              int screenLayoutSizeMask = QAndroidJniObject::getStaticField<int>("android.content.res.Configuration", "SCREENLAYOUT_SIZE_MASK");
          
              int screenLayoutSizeXLarge = QAndroidJniObject::getStaticField<int>("android.content.res.Configuration", "SCREENLAYOUT_SIZE_XLARGE");
              int screenLayoutSizeLarge = QAndroidJniObject::getStaticField<int>("android.content.res.Configuration", "SCREENLAYOUT_SIZE_LARGE");
              int screenLayoutSizeNormal = QAndroidJniObject::getStaticField<int>("android.content.res.Configuration", "SCREENLAYOUT_SIZE_NORMAL");
              int screenLayoutSizeSmall = QAndroidJniObject::getStaticField<int>("android.content.res.Configuration", "SCREENLAYOUT_SIZE_SMALL");
          
              int screenSize = screenLayout & screenLayoutSizeMask;
          
              screenSizeStr = "undefined";
              if (screenSize == screenLayoutSizeSmall)
                  screenSizeStr = "small";
              else if (screenSize == screenLayoutSizeNormal)
                  screenSizeStr = "normal";
              else if (screenSize == screenLayoutSizeLarge)
                  screenSizeStr = "large";
              else if (screenSize == screenLayoutSizeXLarge)
                  screenSizeStr = "xlarge";
          
              ddpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_DEFAULT");
              ldpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_LOW");
              mdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_MEDIUM");
              hdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_HIGH");
              xhdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_XHIGH");
              x_xhdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_400");
              xxhdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_XXHIGH");
              xxxhdpi = QAndroidJniObject::getStaticField<int>("android.util.DisplayMetrics", "DENSITY_XXXHIGH");
          
              densityDpi = displayMetrics.getField<int>("densityDpi");
              dp = 1.0f * densityDpi / mdpi;
          
              screenType = "ddpi";
              if (densityDpi == ldpi)
                  screenType = "ldpi";
              else if (densityDpi == mdpi)
                  screenType = "mdpi";
              else if (densityDpi == hdpi)
                  screenType = "hdpi";
              else if (densityDpi == xhdpi)
                  screenType = "xhdpi";
              else if (densityDpi == x_xhdpi)
                  screenType = "x_xhdpi";
              else if (densityDpi == xxhdpi)
                  screenType = "xxhdpi";
              else if (densityDpi == xxxhdpi)
                  screenType = "xxxhdpi";
          #else
          

          @

          maybe this can be a good workaround ;-)

          1 Reply Last reply
          0
          • sierdzioS Offline
            sierdzioS Offline
            sierdzio
            Moderators
            wrote on last edited by
            #5

            Before trying workarounds, I suggest checking out Qt 5.4 alpha version, or Qt 5.3.2 snapshot - a lot of issues have been fixed there (for example, screen orientation bug introduced in 5.3.1).

            (Z(:^

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved