Qt安卓开发搭建环境

  以前做过Qt的桌面软件开发,大二的时候还用Qt写了一个增删改查的图书馆管理系统作为C++的课设拿了99分(嘿嘿·~~
  但桌面应用的场景远不及手机应用场景多,如今工作了,更觉linux环境开发和手机应用场景的重要性(上班很多时候需要各种工具,比如累计加班时长、项目现场调试等)需要一个个人工具应用的愿望越发强烈。
  故重拾Qt,来开发一款ToolX作为个人工具使用,并在Ubuntu环境下同时可以熟悉linux的操作,一举两得。
  个人选择在Ubuntu22.04环境下使用Qt6.10.8版本进行这个项目的开发,之前学习linux时,大多教材都基于Ubuntu1804+Qt5.12.8进行,两者如今都不再受官方的维护和支持,且在没有science上网的前提下,搭建环境尤为艰难,虽然之前在这种环境下写完了一个简陋版本的ToolX,但要进行更深一步的开发和维护就更加难受了。
  ubuntu22.04的安装过程网上已经有很多了,这里不再赘述。本文主要记录linux环境下Qt6.10.8版本的安装及环境搭建。以下过程属于个人经验,如有不妥之处,欢迎评论指出,万分感谢!
  首先对于Qt,主要有两个途径进行安装:1.下载官方源码后自己编译安装。2.下载他们官方的在线下载器进行安装。今天主要介绍方法二,比较简单快捷。由于一些总所周知的原因,我们需要先修改ubuntu的软件配置源为阿里云或者清华源。
  Ubuntu命令框中输入:
  uname -m #获取linux架构
  然后在清华源获取在线下载器:
  https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/
  给到下载器运行权限:
  chmod +x qt-unified-linux-x64-online.run
  直接运行:
  ./qt-unified-linux-x64-online.run
  或者,如果你想全程使用国内镜像加速下载组件,可以加上 --mirror 参数:
  ./qt-unified-linux-x64-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt/
  到此,我们已经安装了Qt的库文件和维护工具,但Qt Creator(图形化集成开发环境)还没有安装,因此,我们需要运行维护工具:
  cd ~/Qt
  ./MaintenanceTool
  选择组件:在图形界面中,点击“下一步”登录你的 Qt 账户,然后选择“添加或移除组件”。在组件列表中,找到 Qt Creator(通常在 Developer and Designer Tools 下),勾选它,然后继续安装。
  另外,我们还可以通过以下方式创建桌面快捷方式,将Qt添加到应用菜单中:
  创建桌面快捷方式(可选):
   创建一个桌面启动器文件
  nano ~/.local/share/applications/qtcreator.desktop
  粘贴以下内容(根据实际路径调整):

[Desktop Entry]
Type=Application
Name=Qt Creator
Comment=Qt IDE
Exec=/home/x/Qt/Tools/QtCreator/bin/qtcreator
Icon=/home/x/Qt/Tools/QtCreator/share/qtcreator/QtCreator.ico
Categories=Development;

  这里,我们已经完成环境搭建的三分之一了,当我们~/Qt/Tools/QtCreator/bin/qtcreator启动Qt时,大概率会弹出以下内容:
image
警告 1:Clangd 被禁用
原因:Qt Creator 检测到你的系统可用内存可能较低(例如小于 4GB),为了系统流畅,自动禁用了 clangd(一个用于 C/C++ 的高级代码补全、检查工具)。它确实会占用较多内存。

建议:

如果你的电脑内存 ≥ 8GB,且希望获得更好的代码提示和静态检查,可以点击 【Enable Anyway】 启用它。

如果内存较小(比如 4GB 或更少),保持禁用状态可以避免系统卡顿。基本代码补全依然可用(使用内置的 libclang 后端)。

查看内存:可以在终端运行 free -h 查看可用内存,帮助你决定。
警告 2:配置 Android 选项
原因:Qt 支持开发 Android 应用程序,这个提示是询问你是否需要设置 Android 开发环境(安装 SDK、NDK 等)。

建议:

如果你不打算开发 Android 应用,可以直接点击 【Do Not Show Again】,以后需要时随时可以在 编辑 > 偏好设置 > 设备 > Android 中配置。

如果你计划开发 Android 应用,点击 【Configure Android】,Qt Creator 会引导你下载必要的组件。
然后,我们需要开始配置安卓开发所需的SDK(Software Development Kit即软件开发工具包):
image


Ubuntu 配置 Android SDK

第一步:准备 Android 命令行工具

需要先下载 Google 官方的 sdkmanager 命令行工具,然后用它来安装其他所有组件。

下载命令行工具包

打开终端,使用 wget 下载 Linux 版本的命令行工具:

wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip

注意:如果上面的链接下载失败,可以手动在浏览器中访问 Android Studio 下载页面,找到 "Command line tools only" 的 Linux 版本链接进行下载。

创建标准目录结构并解压

sdkmanager 对目录结构有要求,需要按规矩来:

# 确保 SDK 根目录存在
mkdir -p /home/x/Android/Sdk

# 进入下载目录并解压
cd 下载
unzip commandlinetools-linux-*.zip

# 在 SDK 根目录下创建 cmdline-tools 文件夹
# 并将解压的内容移入名为 'latest' 的子文件夹中
mkdir -p /home/x/Android/Sdk/cmdline-tools
mv cmdline-tools /home/x/Android/Sdk/cmdline-tools/latest

完成后,~/Android/Sdk 目录结构应该是这样的:

/home/x/Android/Sdk/
└── cmdline-tools/
    └── latest/
        ├── bin/
        ├── lib/
        └── ...

第二步:安装必需的 SDK 组件

工具准备好了,现在来安装那些标红缺失的组件。

进入 sdkmanager 所在目录

cd /home/x/Android/Sdk/cmdline-tools/latest/bin

接受所有许可证

首次使用必须接受协议,否则无法安装:

# 这个命令会一口气接受所有许可证
yes | ./sdkmanager --licenses

安装核心组件

运行下面的命令来安装平台工具(包含 adb)、构建工具和一个最新的 Android SDK 平台:

# 安装平台工具、构建工具和 Android 14 (API 34) 平台
./sdkmanager "platform-tools" "build-tools;34.0.0" "platforms;android-34"

可以把 android-34 换成更新的版本,比如 android-35

安装完成后,再次检查 Qt Creator 设置界面,应该会有更多选项变绿。


第三步:配置环境变量(可选但推荐)

为了方便在终端任何地方直接使用 adb 等命令,可以把 SDK 的路径加入系统环境变量。

编辑 shell 配置文件

nano ~/.bashrc

在文件末尾添加以下三行

export ANDROID_HOME=/home/x/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin

使配置立即生效

source ~/.bashrc

之后,就可以在终端里直接运行 adb version 来测试是否配置成功了。


第四步:在 Qt Creator 中验证

完成以上步骤后,回到 Qt Creator 设置界面:

编辑 → 偏好设置 → 设备 → Android

直接点击 OKApply。Qt Creator 会自动检测新安装的组件,那些红色的错误提示应该都会消失了。
其实并没有,因为我们还没有配置JDK呢,Orz...


以下是整理后的Markdown格式文档:


Ubuntu 配置 OpenJDK 指南

第一步:安装 OpenJDK

在终端执行以下命令,安装 OpenJDK 11。

# 更新软件包列表
sudo apt update

# 安装 OpenJDK 11 开发套件
sudo apt install openjdk-11-jdk

如果你想尝试更新的版本(如 OpenJDK 17),也可以将上述命令中的 11 替换为 17最好安装17,不然会有其他冲突


第二步:找到 JDK 的安装路径

安装完成后,需要找到 JDK 的具体安装目录,以便接下来设置 JAVA_HOME。运行以下命令:

# 查询 java 命令的路径,并解析出 JDK 主目录
dirname $(dirname $(readlink -f $(which java)))

命令执行后会输出一个路径,例如 /usr/lib/jvm/java-11-openjdk-amd64。请复制这个路径,下一步会用到。


第三步:配置 JAVA_HOME 环境变量

为了让系统和其他应用(如 Qt Creator)知道 Java 安装在哪里,需要设置 JAVA_HOME 变量。我们把它添加到当前用户的 Shell 配置文件中。

编辑配置文件

nano ~/.bashrc

添加环境变量

在文件末尾另起一行,添加以下内容(请将 /usr/lib/jvm/java-11-openjdk-amd64 替换成你在上一步获取的实际路径):

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

保存文件(Ctrl+O, Enter)并退出(Ctrl+X)。

使配置立即生效

source ~/.bashrc

第四步:验证配置是否成功

执行以下命令,检查环境变量是否设置正确,以及 Java 命令是否可用:

# 应该输出你刚才设置的 JAVA_HOME 路径
echo $JAVA_HOME

# 应该显示 Java 版本信息(例如 openjdk version "11.0.22" ...)
java -version

如果两个命令都正确显示了信息,说明 Java 环境已经配置好了。


回到 Qt Creator

完成以上步骤后,请回到你之前 Qt Creator 的 Android 设置界面:

编辑 → 偏好设置 → 设备 → Android

此时,JDK location 这栏可能还会显示错误,因为它需要你手动指定一下。你可以:

  1. 点击其右侧的 "Browse..." 按钮,直接选择你刚才设置的 JAVA_HOME 路径(例如 /usr/lib/jvm/java-11-openjdk-amd64)。

  2. 或者,简单地关闭并重新打开这个设置对话框,Qt Creator 有时会自动检测到新配置的 JAVA_HOME 环境变量。

之后,之前遇到的关于 JDK 的红色错误信息就应该消失了,你可以继续配置或安装 Android SDK 的其他部分。


🛠️ 解决方案:安装并配置 CMake

第一步:安装 CMake

打开终端,执行以下命令安装 CMake:

sudo apt update
sudo apt install cmake

安装完成后,你可以通过以下命令验证是否安装成功:

cmake --version

第二步:在 Qt Creator 中配置 CMake

  1. 重启 Qt Creator(让软件重新加载环境变量)。
  2. 打开菜单栏 编辑 -> 偏好设置 -> CMake 选项卡 -> 工具
  3. 正常情况下,Qt Creator 会自动检测到你刚刚安装的 CMake,并显示在列表中(例如名称 System CMake,路径 /usr/bin/cmake)。
  4. 如果没有自动出现,可以点击右侧的 重新检测 按钮,或者手动点击 添加,然后将路径浏览到 /usr/bin/cmake 并选择。

第三步:确认 Kit 中已关联 CMake

  1. 回到 套件 (Kits) 选项卡。
  2. 点击你正在使用的 Android Kit(例如 Qt 6.10.2 for Android arm64-v8a)。
  3. 在右侧的详细信息中,找到 CMake 工具 这一行,确保下拉菜单中选中了你刚刚添加或自动检测到的 CMake 版本(例如 System CMake)。
  4. 点击 ApplyOK 保存所有设置。

✅ 完成以上步骤后,那个 no cmake tools 的警告应该就消失了。

  以上三个问题即是我在配置环境中遇到的主要问题,关于AI,我尝试使用AI问答完成所有配置步骤,主要用到Kimi、Deepseek和Qwen,个人感觉AI仍然只是一个概率黑盒子,它只是在他的最大限度内,去推导最有可能性的答案,并不具有真正的逻辑思考能力,并且AI的表现很大程度上取决于询问的方式,问题描述越清晰、详细,得到的回答越能解决实际问题。现在的AI作为一个概率黑箱将在教育方面发挥难以想象的能力,“斜杠青年”,这个多年前的流行词,将在不久后,真正落到每个人身上。
  我们唯一需要的,是足够的耐心
Ai问答记录:https://chat.deepseek.com/share/0ujvh7lydz16qc2t9l

posted @ 2026-03-08 20:13  Xuuio  阅读(145)  评论(0)    收藏  举报