核心内容摘要
国模冰冰炮交图150p全新发布:打破次元壁的视觉盛宴,重新定义国模美学的巅峰之作
摘要本文系统讲解 Qt 安卓开发全流程从环境搭建、项目创建、平台配置到真机调试、APK 打包全程搭配可直接编译运行的极简示例解决新手无实例、上手难的问题。
同时汇总开发常见坑点帮助 C/Qt 开发者快速实现跨平台安卓应用开发。
适用人群Qt 初学者、有 C 基础想入门安卓开发的开发者、需要跨平台移动端解决方案的工程师开发环境Windows
Qt
15 LTS、安卓真机前言在跨平台开发领域Qt 凭借「一次编写多平台编译运行」的优势成为 C 开发者开发安卓应用的优选方案。
无需深入学习 Java/Kotlin即可复用桌面端业务逻辑大幅降低开发与维护成本。
本文摒弃纯理论讲解全程搭配完整可运行的极简示例从环境配置到最终打包带你完整走通开发流程新手也能快速上手。
开发环境必备配置
Qt 安装与组件选择访问 Qt 官方下载页下载Qt Online Installer注册免费 Qt 账号后进行安装。
关键组件勾选核心步骤不可遗漏开发工具Qt Creator、MinGW 编译工具。
安卓核心组件勾选对应 Qt 版本的Android ARMv
Android ARM64-v8a适配主流安卓手机模拟器调试可额外勾选Android x
Android x86_64。
必选工具Android Settings相关配置组件。
安装路径禁止包含中文、空格和特殊字符防止后续编译、打包出现未知错误。
安卓依赖环境配置Qt 安卓开发依赖JDK、Android SDK、Android NDK推荐新手使用自动配置方式。
打开 Qt Creator进入工具 → 选项 → 设备 → Android。
界面会提示缺失依赖点击打开 SDK 管理工具按照向导指引Qt 会自动下载并配置兼容版本的 JDK、SDK、NDK。
配置完成后路径会自动填充点击「应用 → 确定」。
验证环境进入工具 → 选项 → 构建和运行 → 套件若 Android 相关套件显示为绿色对勾说明环境配置成功红色标识则根据提示修复缺失依赖。
创建安卓项目并编写极简示例本节直接创建项目并编写按钮点击更新文本的极简示例代码无平台兼容问题可直接在桌面端调试后编译运行到安卓设备。
创建基础项目Qt Creator 中点击文件 → 新建文件或项目 → 应用程序 → Qt Widgets Application点击「选择」。
设置项目名称如QtAndroidSimpleDemo选择项目路径路径和名称均不能有中文。
构建系统选择qmake新手兼容性最优类信息保持默认。
关键步骤在「构建套件选择」页面同时勾选桌面套件与 Android 套件方便先在桌面调试逻辑再移植到安卓。
完成项目创建得到默认的项目文件结构。
项目配置文件.pro修改打开项目的.pro文件替换为以下完整配置包含安卓版本、权限、文件清单等关键配置直接复制使用。
qmakeQT core gui greaterThan(QT_MAJOR_VERSION,
: QT widgets # 安卓平台核心配置 ANDROID_MIN_SDK_VERSION 21 ANDROID_TARGET_SDK_VERSION 33 ANDROID_PACKAGE_SOURCE_DIR $$PWD/android # 按需添加安卓权限本示例仅需基础权限如需网络、存储再额外添加 ANDROID_PERMISSIONS android.permission.INTERNET # 项目基础配置 TARGET QtAndroidSimpleDemo TEMPLATE app # 源码文件 SOURCES \ main.cpp \ mainwindow.cpp HEADERS \ mainwindow.h FORMS \ mainwindow.ui
头文件 mainwindow.h该文件定义窗口、按钮、标签以及点击槽函数直接复制替换原有代码。
cpp运行#ifndef MAINWINDOW_H #define MAINWINDOW_H #include QMainWindow #include QPushButton #include QLabel QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent nullptr); ~MainWindow(); private slots: // 按钮点击响应的槽函数 void onTestButtonClicked(); private: Ui::MainWindow *ui; // 声明按钮和文本标签 QPushButton *testButton; QLabel *showLabel; }; #endif // MAINWINDOW_H
源文件 mainwindow.cpp实现窗口初始化、控件布局、按钮点击逻辑是示例的核心功能代码。
cpp运行#include mainwindow.h #include ui_mainwindow.h MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui-setupUi(this); // 设置窗口标题 this-setWindowTitle(Qt安卓极简示例); // 初始化按钮 testButton new QPushButton(点击我, this); // 设置按钮位置与大小适配移动端触控 testButton-setGeometry(100, 200, 200,
; // 初始化标签 showLabel new QLabel(等待点击..., this); showLabel-setGeometry(100, 300, 200,
; // 标签文字居中 showLabel-setAlignment(Qt::AlignCenter); // 信号与槽连接按钮点击触发槽函数 connect(testButton, QPushButton::clicked, this, MainWindow::onTestButtonClicked); } MainWindow::~MainWindow() { delete ui; } // 槽函数实现点击按钮后修改标签显示内容 void MainWindow::onTestButtonClicked() { showLabel-setText(Qt安卓开发示例运行成功); }
主函数 main.cpp程序入口无需修改保持默认即可确保应用正常启动。
cpp运行#include mainwindow.h #include QApplication int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; // 桌面端调试窗口大小安卓端会自动适配全屏 w.resize(400,
; w.show(); return a.exec(); }
真机调试与运行
安卓设备开启调试模式打开手机设置 → 关于手机连续点击「版本号」直至提示「已开启开发者选项」。
返回设置进入「开发者选项」开启USB 调试。
使用原装 USB 数据线连接电脑与手机手机端弹出的调试授权弹窗选择允许。
编译并运行到安卓设备在 Qt Creator左下角将构建套件切换为Android 对应套件。
点击左侧工具栏的构建按钮首次编译会下载依赖库耗时较长耐心等待。
构建完成无报错后点击运行按钮。
Qt 会自动将应用打包、安装到安卓设备并启动。
点击界面中的按钮标签文字发生变化说明示例运行成功。
调试小贴士代码中添加断点点击「调试」按钮可像桌面端一样单步调试、查看变量快速定位问题。
APK 签名打包与发布
创建安卓签名文件安卓应用上架应用商店必须进行签名且签名文件需永久保存。
进入工具 → 选项 → 设备 → Android → 签名。
点击「创建」填写密钥库路径、密钥库密码、密钥别名、别名密码、证书信息、有效期。
点击完成生成.keystore签名文件务必妥善保管丢失后无法更新应用。
打包 Release 版 APK在 Qt Creator 左下角将构建模式从Debug 切换为 Release提升应用性能减小安装包体积。
点击构建 → 构建项目 QtAndroidSimpleDemo完成 Release 版本编译。
点击构建 → 部署项目选择已创建的签名文件输入对应密码。
打包完成后在项目构建目录的android-build/build/outputs/apk/路径下找到签名后的 APK可直接分发或上架应用商店。
五、
常见问题与解决方案NDK 版本不兼容编译报错解决方案Qt
15 推荐搭配NDK r21eQt
x 参考官方适配的 NDK 版本。
在 Qt Creator 的 Android 配置页面更换为兼容版本的 NDK重新配置路径。
电脑无法识别安卓设备解决方案更换原装数据线检查 USB 调试是否开启Windows 系统在设备管理器中安装手机对应 USB 驱动重启手机和 Qt Creator。
应用安装后闪退解决方案检查代码中是否使用了 Windows/Mac 专属 API核对AndroidManifest.xml中权限是否配置完整通过 Qt Creator 的「应用输出」窗口查看崩溃日志定位问题代码。
APK 安装包体积过大解决方案使用 Release 模式编译在.pro文件中移除未使用的 Qt 模块压缩图片、音频等资源文件删除未使用的源码和配置文件。
六、
总结与进阶方向本文通过完整的极简示例完整覆盖了 Qt 安卓开发从环境搭建、代码编写、真机调试到打包发布的全流程。
该示例无平台兼容问题可作为你后续复杂项目的基础模板。
进阶学习方向学习 Qt Quick开发更贴合移动端设计规范的现代化 UI。
通过JNI 接口调用安卓原生 API实现推送、支付、相机等原生功能。
适配全面屏、折叠屏、平板优化横竖屏切换、多分辨率适配。
切换为 CMake 构建系统适配 Qt 6 版本的安卓开发。