根据Yunnosch在jenkins中无法运行Android模拟器进行连接测试的无用响应
我正在运行一个带有Android studio的linux盒子,并设置了AVD。我可以从android工作室手动运行它,但运行它像emulator -avd emulator-5554
或从Azure管道给我QT错误。我已经安装了QT从命令行和直接从他们的网站与所有的工具和路径存在。
Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
与调试为qt插件启用,我能够看到详细的错误:
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))
注意:我还为QT添加了环境变量,但没有工作。
我在我的桌面得到同样的错误,我的默认值是QT_QPA_PLATFORM=wayland
我可以通过为Qt显式指定xcb
来运行XWayland模拟器:
env QT_QPA_PLATFORM=xcb emulator @myavd