Can't run application on some Android devices

纵饮孤独 提交于 2019-12-11 19:00:53

问题


I made a QtQuick program and I found that Qt uses OpenGL ES 2.0 library. I amble to build and deploy my application to all devices, I have including AVD.

But on some devices I receive error log:

W/Qt      ( 1246): eglconvenience/qeglconvenience.cpp:289 (void* QEglConfigChooser::chooseConfig()): Cant find EGLConfig, returning null config
W/Qt      ( 1246): eglconvenience/qeglconvenience.cpp:289 (void* QEglConfigChooser::chooseConfig()): Cant find EGLConfig, returning null config
W/Qt      ( 1246): scenegraph/qsgcontext.cpp:438 (virtual void QSGRenderContext::initialize(QOpenGLContext*)): QSGContext::initialize: depth buffer support missing, expect rendering errors
W/Qt      ( 1246): scenegraph/qsgcontext.cpp:440 (virtual void QSGRenderContext::initialize(QOpenGLContext*)): QSGContext::initialize: stencil buffer support missing, expect rendering errors
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
W/Qt      ( 1246): opengl/qopenglshaderprogram.cpp:319 (bool QOpenGLShaderPrivate::compile(QOpenGLShader*)): QOpenGLShader::compile(Vertex): failed
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
W/Qt      ( 1246): opengl/qopenglshaderprogram.cpp:319 (bool QOpenGLShaderPrivate::compile(QOpenGLShader*)): QOpenGLShader::compile(Fragment): failed
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
E/libEGL  ( 1246): called unimplemented OpenGL ES API
D/Qt      ( 1246): scenegraph/coreapi/qsgbatchrenderer.cpp:155 (QSGBatchRenderer::ShaderManager::Shader* QSGBatchRenderer::ShaderManager::prepareMaterial(QSGMaterial*)): Renderer failed shader compilation: 
D/Qt      ( 1246): "" 
F/libc    ( 1246): Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1), thread 1283 (QSGRenderThread)

There is a thing that those devices other OpenGL 3.0, which is not supported by Qt. Do you know how to fix it?


回答1:


After reinstalling Android SDK, Androind NDK, JDK, Qt to the latest versions applications works good on AVD.

Installed versions:

  • Android SDK: 23.0.2
  • Android NDK: r9d
  • JDK: 1.6
  • Qt: 5.2.1
  • Os: OS X 10.9.3


来源:https://stackoverflow.com/questions/24580617/cant-run-application-on-some-android-devices

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!