【问题标题】:Qt/Android/CMake: Custom AndroidManifest.xml not taken into accountQt/Android/CMake:未考虑自定义 AndroidManifest.xml
【发布时间】:2021-01-21 16:29:59
【问题描述】:

我正在使用 Qt for Android 构建一个 Qt 项目。

我需要在 AndroidManifest.xml 文件中添加一个uses-feature 标签。为此,我使用 Qt Creator 制作了一个模板,然后将 android/AndroidManifest.xml 文件添加到应用程序源中。

无论我在 android/AndroidManifest.xml 文件中添加什么,都会忽略它并使用默认/内部文件。

这是我的 CMakeLists.txt 文件:

    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    set(CMAKE_AUTOUIC ON)
    
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    find_package(QT NAMES Qt5 COMPONENTS Widgets REQUIRED)
    find_package(Qt5 COMPONENTS Widgets REQUIRED)
    
    file(GLOB_RECURSE SOURCES
      ${PROJECT_SOURCE_DIR}/*.cpp
      ${PROJECT_SOURCE_DIR}/*.ui
      ${PROJECT_SOURCE_DIR}/*.h
      ${PROJECT_SOURCE_DIR}/*.qrc
      ${PROJECT_SOURCE_DIR}/android/AndroidManifest.xml
    )
    if(ANDROID)
      set(ANDROID_MIN_SDK_VERSION 21)
      set(ANDROID_PACKAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/android/)
    
      add_library(myapp SHARED ${SOURCES})
    else()
      add_executable(evotest ${SOURCES})
    endif()
    
    target_link_libraries(myapp Qt5::Widgets)
    
    install(TARGETS myapp DESTINATION bin)

【问题讨论】:

    标签: android qt cmake


    【解决方案1】:

    解决方案是这样设置 ANDROID_PACKAGE_SOURCE_DIR

    set(ANDROID_PACKAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/android CACHE INTERNAL "")
    

    现在,考虑到文件android/AndroidManifest.xml 来构建android 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2017-10-13
      • 2020-02-19
      • 2020-02-08
      • 2015-10-13
      • 1970-01-01
      • 2015-09-14
      相关资源
      最近更新 更多