当前位置: 首页 > news >正文

【Qt】配置安卓开发环境

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

一、环境准备核心组件

1. 基础工具链

我的工具版本如下:
qt 安卓环境配置
链接: https://pan.baidu.com/s/1098ZmQyGPHo2F38qu1wWyQ?pwd=sh2h 提取码: sh2h

组件推荐版本说明
Qt SDKQt 5.9.4(稳定兼容旧版NDK)需勾选「Android armv7 组件」(Qt 5.9+ 自带 Android 构建工具链)
JDKJDK 1.8.x(如1.8.0_144)Android 开发强制依赖,Qt 5.9+ 不支持 JDK 9+
Android SDKAPI 16~24(重点安装API 24)需包含「SDK Platform」(对应 API 版本)和「SDK Build-Tools 24.0.3」
Android NDKNDK 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),替换为阿里云镜像仓库:

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 节点中显式指定兼容版本:
    android {compileSdkVersion 24buildToolsVersion "24.0.3" // 必须安装对应版本defaultConfig {minSdkVersion 16targetSdkVersion 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 目录,重新构建。

和空格,否则会导致构建失败;
3. 优先解决核心错误:构建报错时,优先查看日志中「FAILURE」部分的核心错误(如依赖、权限、协议),再逐步排查;
4. 缓存清理:遇到依赖下载异常时,可删除 C:\Users\用户名\.gradle\caches 目录,重新构建。

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

http://www.dtcms.com/a/618635.html

相关文章:

  • 基于Qt,调用千问7B大模型,实现智能对话
  • Ubuntu 美化
  • 网站互动营销专门app软件开发公司
  • .net开发微信网站流程网站怎么做收费
  • 变分自编码器(VAE)的原理方法(一)
  • OpenCV 张氏标定法(三)
  • 网站做成app网站建设与管理设计
  • 建设礼品网站的策划书如何用阿里云做网站
  • C++:智能指针的使用及其原理
  • 25.Linux逻辑卷管理
  • 苏州旺道seo做网站排名优化的公司
  • 6. Linux 硬盘分区管理
  • 中山微网站建设报价银行网站建设前期合同
  • 25年11月软考架构真题《论秒杀场景及其技术解决方案》考后复盘总结
  • 怎么做公司网站竞价最新国际新闻10条简短
  • jQuery 属性详解
  • 2025.11.16 力扣每日一题
  • dede网站修改wordpress文章添加分享代码
  • 做网站的主要作用上海广告公司排行榜
  • 我在高职教STM32(新13)——按键外部中断实验
  • 网站如何做长尾词排名东莞网站优化哪个公司好
  • 数据分析笔记11:数据容器2
  • 备案期间网站可以做竞价吗自己如何建设网站步骤
  • 1.专栏导学 + .NET Aspire 简介
  • 怎样做网站推广啊视频中国能源建设集团有限公司董事长
  • 传导案例:差模干扰整改案例
  • mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 的安装与配置(附安装包)
  • 茶叶企业网站开发源码网站建设和维护一年的费用
  • 【复习408】操作系统进程同步浅析
  • 基于离散韦格纳分布DWVD结合MCNN-BiLSTM-Attention的故障诊断研究