Unable to run Android Emulator - QT failed to extract, not a plugin

Viewed 141

As per the unhelpful response from Yunnosch on Unable to run Android Emulator for connected tests in jenkins

I am running a linux box with Android studio and have setup an AVD. I can run it manually from android studio but running it like emulator -avd emulator-5554 or from Azure Pipelines gives me QT errors. I've installed QT from commandline and direct from their website with all the tools and the paths exist.

Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

With debug enabled for qt plugin I was able to see the detailed errors:

emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "./lib64/qt/plugins" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/Android/Sdk/emulator/lib64/qt/plugins" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-aarch64" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-aarch64'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-aarch64-headless" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-aarch64-headless'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-armel" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-armel'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-armel-headless" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-armel-headless'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-i386" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-i386'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-i386-headless" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-i386-headless'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64-headless" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: "Failed to extract plugin meta data from '/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64-headless'"
         not a plugin ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "./lib64/qt/plugins/platforms" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "lib64/qt/plugins/platforms/libqxcb.so" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Warning: Found metadata in lib /usr/lib/Android/Sdk/emulator/lib64/qt/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 330752
}

 ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: Got keys from plugin meta data ("xcb") ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/Android/Sdk/emulator/lib64/qt/plugins/platforms" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() looking at "/usr/lib/Android/Sdk/emulator/lib64/qt/plugins/platforms/libqxcb.so" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: Got keys from plugin meta data ("xcb") ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/Android/Sdk/emulator/qemu/linux-x86_64/platforms" ... ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Debug: loaded library "/usr/lib/Android/Sdk/emulator/lib64/qt/plugins/platforms/libqxcb.so" ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Warning: could not connect to display  ((null):0, (null))


emulator: INFO: QtLogger.cpp:68: Info: Could not load the Qt platform plugin "xcb" in "./lib64/qt/plugins" even though it was found. ((null):0, (null))


Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.
 ((null):0, (null))

Note: I have also added environment variables for QT but nothing worked.

1 Answers

I get the same error on my desktop where my default is QT_QPA_PLATFORM=wayland.

I am able to run the emulator with XWayland by specifying xcb explicitly for Qt:

env QT_QPA_PLATFORM=xcb emulator @myavd
Related