Why don't ADVs work for Qt Quick apps
-
Hi all,
I have two apps. One is written by myself (a calculator) and the other is this one.
I created two AVDs. The first one with the following specs:
and the other with these specs:
I tested both of them exactly after creating and also on the Android section of Qt Creator and also both worked well for my "first app". But the problem is that they don't work for the Qt Quick app, while it's more needed! (Because Qt Quick app are more run on mobile devices)
Now the problem: when I run the Qt Quick app using any of those AVDs, they only show a white screen and whatever I do it doesn't show anything else!
Have you ever tested Qt Quick apps on AVDs please?
What do you think of this problem? I think it's not uncommon. -
The errors:
Starting remote process.I art : Not late-enabling -Xcheck:jni (already on)
W art : Unexpected CPU variant for X86 using defaults: x86
W System : ClassLoader referenced unknown path:
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5Network.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5Qml.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5Gui.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5Quick.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5QuickParticles.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/app/org.qtproject.example.transitions-2/lib/x86/libQt5Widgets.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/platforms/android/libqtforandroid.so: unsupported flags DT_FLAGS_1=0x81
I Qt : qt start
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/bearer/libqandroidbearer.so: unsupported flags DT_FLAGS_1=0x81
I art : Do partial code cache collection, code=16KB, data=30KB
I art : After code cache collection, code=16KB, data=30KB
I art : Increasing code cache capacity to 128KB
E linker : normalize_path - invalid input: "C", the input path should be absolute
W linker : Warning: unable to normalize "C"
E linker : normalize_path - invalid input: "C", the input path should be absolute
W linker : Warning: unable to normalize "C"
D : (null):0 ((null)): QML debugging is enabled. Only use this in a safe environment.
W gralloc_ranchu: Gralloc pipe failed
D : HostConnection::get() New Host Connection established 0x97d7f200, tid 2268
D : HostConnection::get() New Host Connection established 0x97d7f400, tid 2287
I OpenGLRenderer: Initialized EGL, version 1.4
D OpenGLRenderer: Swap behavior 1
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick.2/libqtquick2plugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick/Controls/libqtquickcontrolsplugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick/Dialogs/libdialogplugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick/Layouts/libqquicklayoutsplugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick/Window.2/libwindowplugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/qml/QtQuick/Controls/Styles/Android/libqtquickcontrolsandroidstyleplugin.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqgif.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqicns.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqico.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqjpeg.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqtga.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqtiff.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqwbmp.so: unsupported flags DT_FLAGS_1=0x81
W linker : /data/data/org.qtproject.example.transitions/qt-reserved-files/plugins/imageformats/libqwebp.so: unsupported flags DT_FLAGS_1=0x81
D : HostConnection::get() New Host Connection established 0x938dd180, tid 2288
D : HostConnection::get() New Host Connection established 0x938dd480, tid 2291
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.246 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying lowp vec4 color;
03-03 01:08:22.246 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = color;
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(opacity): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.252 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying highp vec2 qt_TexCoord;
03-03 01:08:22.252 2268 2291 W libtransitions.so:
W libtransitions.so: uniform sampler2D qt_Texture;
03-03 01:08:22.252 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = texture2D(qt_Texture, qt_TexCoord);
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.302 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying lowp vec4 color;
03-03 01:08:22.302 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = color;
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(opacity): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.308 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying highp vec2 qt_TexCoord;
03-03 01:08:22.308 2268 2291 W libtransitions.so:
W libtransitions.so: uniform sampler2D qt_Texture;
03-03 01:08:22.308 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = texture2D(qt_Texture, qt_TexCoord);
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.334 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying lowp vec4 color;
03-03 01:08:22.334 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = color;
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(matrix): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(opacity): shader program is not linked
W libtransitions.so: (null):0 ((null)): QOpenGLShader::compile(Fragment): ERROR: 0:1: '' : No precision specified for (float)
03-03 01:08:22.339 2268 2291 W libtransitions.so:
W libtransitions.so: (null):0 ((null)): *** Problematic Fragment shader source code ***
W libtransitions.so: #define lowp
W libtransitions.so: #define mediump
W libtransitions.so: #define highp
W libtransitions.so: #line 1
W libtransitions.so: varying highp vec2 qt_TexCoord;
03-03 01:08:22.339 2268 2291 W libtransitions.so:
W libtransitions.so: uniform sampler2D qt_Texture;
03-03 01:08:22.339 2268 2291 W libtransitions.so:
W libtransitions.so: void main()
W libtransitions.so: {
W libtransitions.so: gl_FragColor = texture2D(qt_Texture, qt_TexCoord);
W libtransitions.so: }
W libtransitions.so: ***
W libtransitions.so: (null):0 ((null)): shader compilation failed:
W libtransitions.so: ""
W libtransitions.so: (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(qt_Matrix): shader program is not linked -
@tomy
just a thought,but have you tried a lower API lvl? With Android 6.0 (Api 23) google introduce the runtime permission check. A feature that, as far as I know, is not yet supported natively.
Or something else changed in Android 7. Google changes stuff constantly without remorse for other developers. But its usually backwards compatible. E.g Apps for Api 22 should also run on 23 and 24 without a problem.
-
Looks like the OpenGL shader code fails to compile. Which Qt version do you use?
I've installed "qt-opensource-windows-x86-android-5.8.0", so I thnk its version is 5.8.
I don't know whether it is related, but Nexus 9 has an ARM CPU (Nvidia Tegra) not x86.
Nexus 7 has an ARM CPU as well.OK, would you please say that which Nexus is fine for that Qt Quick app? for example, I can use one the ones you have used so far and they work well.
-
just a thought,
but have you tried a lower API lvl? With Android 6.0 (Api 23) google introduce the runtime permission check. A feature that, as far as I know, is not yet supported natively.Or something else changed in Android 7. Google changes stuff constantly without remorse for other developers. But its usually backwards compatible. E.g Apps for Api 22 should also run on 23 and 24 without a problem.
I've installed only API 24 and 25 as follows:
I think you suggest that I install API 23 packages and test the app using one AVD created by that API, yes?There is also this bug that I'm not sure it's related to my problem or not.
If it's related please tell me how to use it for solving the issue.UPDATE:
I also tested using a Nexus 4, Android 6 API 23, Intel Atom x86. The same problem, yet.