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ライブラリが利用可能になるかどうかが不確実になります。最も簡単な解決策は、MyServiceライブラリをMyAppの依存関係に追加することです:

add_dependencies(MyApp MyService)

マルチABIプロジェクトにアーキテクチャごとのライブラリを追加する際は、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()も参照してください 。

© 2026 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.