QT_ANDROID_EXTRA_LIBS
Zusätzliche Bibliotheken, die mit dem Ziel bereitgestellt werden sollen.
Diese Eigenschaft wurde in Qt 6.0 eingeführt.
Hinweis: Diese Eigenschaft befindet sich in der Technologievorschau und kann sich in zukünftigen Versionen ändern.
Hinweis: Diese Eigenschaft wird nur verwendet, wenn die Android-Plattform angestrebt wird.
Eine Liste von externen Bibliotheken, die in den libs
Ordner Ihrer Anwendung kopiert und beim Start geladen werden. Dies kann z. B. verwendet werden, um OpenSSL in Ihrer Anwendung zu aktivieren. Weitere Informationen finden Sie unter Hinzufügen von OpenSSL-Unterstützung für Android.
Wenn Sie zusätzliche Bibliotheken aus dem Build-Tree Ihres Projekts hinzufügen, müssen Sie auch Abhängigkeitsbeziehungen zwischen der Bibliothek und dem Anwendungsziel hinzufügen. Die Verwendung der folgenden Projektstruktur kann beim Deployment einer apk zu einem Problem führen:
qt_add_executable(MyApp main.cpp) set_target_properties(MyApp PROPERTIES QT_ANDROID_EXTRA_LIBS ${CMAKE_CURRENT_BINARY_DIR}/libMyService_${ANDROID_ABI}.so ) # MyService library doesn't have any relations with MyApp qt_add_library(MyService service.cpp)
Dies führt zu der Unsicherheit, ob die MyService-Bibliothek vor der Bereitstellung von MyApp verfügbar ist oder nicht. Die einfachste Lösung ist das Hinzufügen der MyService-Bibliothek zu den MyApp-Abhängigkeiten:
add_dependencies(MyApp MyService)
Wenn Sie einem Multi-Abi-Projekt Bibliotheken pro Architektur hinzufügen, sollten Sie alle Pfade explizit auflisten, anstatt sich auf Variablen wie CMAKE_ANDROID_ARCH_ABI
zu verlassen, um die Pfade dynamisch zu berechnen.
Bevorzugen:
set(libs ${CMAKE_CURRENT_BINARY_DIR}/libA_x86so ${CMAKE_CURRENT_BINARY_DIR}/libA_x86_64.so ${CMAKE_CURRENT_BINARY_DIR}/libA_arm64-v8a.so ${CMAKE_CURRENT_BINARY_DIR}/libA_armeabi-v7a.so ) set_target_properties(MyApp PROPERTIES QT_ANDROID_EXTRA_LIBS ${libs}) # When targeting precompiled libs target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC libA_${ANDROID_ABI})
über:
set_target_properties(MyApp PROPERTIES QT_ANDROID_EXTRA_LIBS ${CMAKE_CURRENT_BINARY_DIR}/libA_${CMAKE_ANDROID_ARCH_ABI}.so)
Siehe auch qt_android_generate_deployment_settings().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.