【Qt】配置安卓开发环境

Qt 配置 Android 开发环境学习笔记

一、环境准备核心组件

1. 基础工具链

我的工具版本如下:

qt 安卓环境配置

链接: https://pan.baidu.com/s/1098ZmQyGPHo2F38qu1wWyQ?pwd=sh2h 提取码: sh2h

组件 推荐版本 说明
Qt SDK Qt 5.9.4(稳定兼容旧版NDK) 需勾选「Android armv7 组件」(Qt 5.9+ 自带 Android 构建工具链)
JDK JDK 1.8.x(如1.8.0_144) Android 开发强制依赖,Qt 5.9+ 不支持 JDK 9+
Android SDK API 16~24(重点安装API 24) 需包含「SDK Platform」(对应 API 版本)和「SDK Build-Tools 24.0.3」
Android NDK NDK r10e 与 Qt 5.9.4 完美兼容,支持 API 16~24,高版本 NDK(r15+)会兼容性报错

在android studio的sdk管理器中安装 sdk ndk 直接解压即可 ,jdk直接下载安装包安装即可。


2. 组件下载与安装注意事项

  • Qt SDK:从 Qt 官网下载离线安装包,安装时务必勾选「Android for armeabi-v7a (GCC 4.9)」组件。
  • JDK :安装路径避免中文和空格(推荐默认路径 C:\Program Files\Java\jdk1.8.0_xxx),需配置系统环境变量 JAVA_HOME 指向 JDK 根目录。
  • Android SDK/NDK
    • SDK 安装路径建议非系统盘(如 D:\Android\sdk),避免权限问题;
    • NDK 解压后路径需记录(如 D:\BaiduNetdiskDownload\android-ndk-r10e),后续在 Qt 中配置。

二、Qt 环境配置步骤

1. 配置 Android 相关路径

  1. 打开 Qt Creator → 工具 → 选项 → 设备 → Android;

  2. 分别配置以下路径(需与实际安装路径一致):

    • JDK 位置:指向 JDK 根目录(如 C:\Program Files\Java\jdk1.8.0_144);
    • Android SDK 位置:指向 SDK 根目录(如 D:\Android\sdk);
    • Android NDK 位置:指向 NDK 根目录(如 D:\BaiduNetdiskDownload\android-ndk-r10e);
  3. 点击「应用」,Qt 会自动检测组件完整性,无报错则路径配置成功。

2. 创建/配置 Android 构建套件(Kit)

  1. 进入「选项 → 设备 → 构建套件(Kit)」;
  2. 找到「Android for armeabi-v7a (GCC 4.9, Qt 5.9.4 for Android armv7)」,检查以下配置:
    • 编译器:C/C++ 编译器选择 NDK 自带的 arm-linux-androideabi-g++
    • Qt 版本:选择 Qt 5.9.4 (android_armv7);
    • 设备类型:Android;
  3. 若未自动生成 Kit,点击「添加」手动创建,确保上述参数配置正确。

3. 项目级 Android 配置

  1. 打开 Qt 项目(如本文的 HuaRongDao),右键项目 → 属性 → Build & Run;
  2. 选择上述配置好的 Android Kit;
  3. 切换到「Android」选项卡,配置关键参数:
    • Android Build Platform:选择 android-24(与 SDK API 24、NDK r10e 兼容);
    • 应用程序名称、包名(Application ID):包名需唯一(如 com.example.huarongdao);
    • 最小 SDK 版本:设置为 16(与 NDK __ANDROID_API__=16 匹配)。

三、关键问题与解决方案(避坑重点)

1. Gradle 依赖下载失败(核心坑)

问题现象:

构建时提示「Could not find com.android.tools.build:gradle:2.2.3」,因 JCenter 仓库关闭导致旧版 Gradle 插件无法下载。

解决方案:

修改 Qt 生成的 build.gradle 文件(路径:build-xxx-android-debug/android-build/build.gradle),替换为阿里云镜像仓库:

groovy 复制代码
buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

2. Build Tools 版本不兼容

问题现象:

提示「Invalid revision: 30.0.0-preview」或「buildToolsVersion is not specified」。

解决方案:
  1. build.gradleandroid 节点中显式指定兼容版本:

    groovy 复制代码
    android {
        compileSdkVersion 24
        buildToolsVersion "24.0.3" // 必须安装对应版本
        defaultConfig {
            minSdkVersion 16
            targetSdkVersion 24
        }
    }
  2. 打开 SDK Manager,安装「Android SDK Build-Tools 24.0.3」(需勾选「Show Package Details」显示历史版本)。

3. 权限问题(SDK 目录拒绝访问)

问题现象:

SDK Manager 下载组件时提示「拒绝访问」,因 SDK 安装在系统盘(如 C:\Program Files (x86)\Android\android-sdk)。

解决方案:
  • 临时方案:以管理员身份运行 SDK Manager;
  • 永久方案:修改 SDK 目录权限(右键目录 → 属性 → 安全 → 给当前用户「完全控制」权限);
  • 彻底方案:将 SDK 迁移到非系统盘(如 D:\Android\sdk),重新在 Qt 中配置路径。

4. 许可协议未接受

问题现象:

提示「You have not accepted the license agreements of the following SDK components: Android SDK Platform 24」。

解决方案:
  • 图形化方式:管理员身份打开 SDK Manager,勾选对应 API 版本,接受许可协议;
  • 命令行方式:进入 SDK\tools\bin 目录,执行 sdkmanager.bat --licenses,按 y 确认所有协议。

四、构建与验证流程

  1. 清理项目:右键项目 → 清理(清除旧构建文件);

  2. 重新构建:Ctrl+Shift+B 执行构建,Qt 会自动完成:

    • qmake 生成 Makefile;
    • NDK 编译 C++ 代码生成 .so 库;
    • Gradle 打包 APK(依赖配置的 SDK/NDK 组件);
  3. 验证结果:构建成功后,APK 文件位于:

    复制代码
    build-xxx-android-debug/android-build/build/outputs/apk/debug/android-build-debug.apk
  4. 测试 APK:通过 Qt Creator 连接 Android 设备(开启 USB 调试),点击「运行」即可安装测试。

五、总结与注意事项

  1. 版本匹配是核心:Qt 5.9.4 + JDK 1.8 + NDK r10e + SDK API 24 是稳定组合,高版本组件易出现兼容性问题;
  2. 路径无中文/空格:所有工具(Qt、JDK、SDK、NDK)安装路径避免中文和空格,否则会导致构建失败;
  3. 优先解决核心错误:构建报错时,优先查看日志中「FAILURE」部分的核心错误(如依赖、权限、协议),再逐步排查;
  4. 缓存清理 :遇到依赖下载异常时,可删除 C:\Users\用户名\.gradle\caches 目录,重新构建。

和空格,否则会导致构建失败;

  1. 优先解决核心错误 :构建报错时,优先查看日志中「FAILURE」部分的核心错误(如依赖、权限、协议),再逐步排查;

  2. 缓存清理 :遇到依赖下载异常时,可删除 C:\Users\用户名\.gradle\caches 目录,重新构建。

通过以上步骤,可成功配置 Qt 5.9.4 的 Android 开发环境,实现 C++ 项目的 Android 打包与测试。

相关推荐
码智社27 分钟前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海29 分钟前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖1 小时前
JDK 26 新特性详解
java·开发语言
马优晨2 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区4 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大4 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai5 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜5 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa5 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
一次旅行5 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化