qt_android_extra_libs
ターゲットにデプロイする追加ライブラリ。
このプロパティは Qt 6.0 で導入されました。
注意: このプロパティはテクノロジープレビューであり、将来のリリースで変更される可能性があります。
注意: このプロパティは、Android プラットフォームをターゲットにしている場合にのみ使用されます。
アプリケーションのlibs
フォルダにコピーされ、起動時にロードされる外部ライブラリのリスト。これは、例えば、アプリケーションでOpenSSLを有効にするために使用できます。詳細については、Android用のOpenSSLサポートの追加を参照してください。
プロジェクトのビルド・ツリーから追加のライブラリを追加する場合、ライブラリとアプリケーション・ターゲットの依存関係を追加する必要もあります。以下のプロジェクト構造を使用すると、apkをデプロイする際に問題が発生する可能性があります:
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)
この場合、MyAppのデプロイ前にMyServiceライブラリが利用可能かどうかが不明確になります。最も簡単な解決策は、MyAppの依存関係にMyServiceライブラリを追加することです:
add_dependencies(MyApp MyService)
マルチアーキテクチャのプロジェクトにアーキテクチャごとのライブラリを追加する場合は、CMAKE_ANDROID_ARCH_ABI
のような変数に依存して動的にパスを計算するのではなく、すべてのパスを明示的にリストします。
そうしてください:
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})
オーバー:
set_target_properties(MyApp PROPERTIES QT_ANDROID_EXTRA_LIBS ${CMAKE_CURRENT_BINARY_DIR}/libA_${CMAKE_ANDROID_ARCH_ABI}.so)
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.