You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Qt Creator 10.0.2使用修改后的AndroidManifest.xml文件?

解决Qt CMake项目中AndroidManifest.xml修改后被覆盖的问题

核心原因

build目录下的AndroidManifest.xml是CMake构建过程中自动生成的临时文件,直接修改会被每次构建覆盖,必须通过配置让CMake使用源码目录下的自定义manifest文件。

解决方案步骤

1. 手动创建自定义AndroidManifest.xml

  • 在项目根目录(与CMakeLists.txt同级)新建android文件夹
  • 从build目录中复制自动生成的AndroidManifest.xml到这个android文件夹
  • 修改复制后的文件,找到<activity>标签,将android:screenOrientation属性改为landscape,示例:
    <activity android:name="org.qtproject.qt.android.bindings.QtActivity"
              android:label="@string/app_name"
              android:screenOrientation="landscape"
              ...>
    

2. 修改CMakeLists.txt配置

打开项目根目录的CMakeLists.txt,在qt_add_executable指令之后添加以下配置,让CMake识别自定义的Android资源目录:

# 指定Android自定义资源目录
set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android)

确保该配置位于qt_add_executable和install等核心指令之间。

3. 验证配置

  • 清理旧构建文件:点击Qt Creator菜单Build -> Clean All
  • 重新构建项目,此时build目录下的AndroidManifest.xml会自动从自定义文件复制,不会再被覆盖
  • 运行到Android设备/模拟器,应用将默认以横屏启动

替代方案(解决Create Templates报错问题)

如果点击Qt Creator的Create Templates按钮报错,无需依赖该功能,直接按上述步骤手动创建android文件夹和配置CMake即可,效果完全一致。

注意事项

  • 所有Android相关的自定义配置(权限、图标、启动模式等),都直接在源码目录的android文件夹下修改,不要触碰build目录的自动生成文件
  • 若后续Qt版本更新,可重新从build目录复制最新的manifest到android文件夹,再修改横屏配置

内容的提问来源于stack exchange,提问作者user351579

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:44:59