【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 打包与测试。

相关推荐
百***99242 小时前
MySql的慢查询(慢日志)
android·mysql·adb
西游音月2 小时前
(7)框架搭建:Qt实战项目之主窗体导航栏、状态栏
开发语言·qt
安卓兼职framework应用工程师2 小时前
android 15.0 Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标
android·拖拽·workspace·长按拖拽
3***49962 小时前
Swift Experience
开发语言·ios·swift
iFlow_AI2 小时前
iFlow CLI Hooks 「从入门到实战」应用指南
开发语言·前端·javascript·人工智能·ai·iflow·iflow cli
Maybyy3 小时前
Chart.js图标绘制工具库
开发语言·javascript·ecmascript
雨白3 小时前
Jetpack Compose Navigation3:返回栈管理、大屏适配与自定义策略
android
万象.3 小时前
QT基础及对象树的认识
c++·qt
1***s6323 小时前
Python爬虫反爬策略,User-Agent与代理IP
开发语言·爬虫·python