QT5.12 android 安装

本文详细介绍了如何在Qt环境下编译Android APK,包括JDK、QT5.12.2、Android NDK和SDK的下载与安装,以及QtCreator的配置。重点强调了路径无空格、环境变量设置和解决编译过程中的问题。同时,提供了安装、卸载APK的adb命令。

1. 概述
目标是在Qt编译Android apk,在Android目标机上运行。

安装软件等新建目录不留空格。除系统外,其它软件不安装在C盘

编译输出版本最高 API 28  Android 9   最低  API 16  Android 4.1

编译SDK 最高 Android 29  (对应API29  Android 10),如果要开发 android service 后台程序,要安装 版本build-tools 最高为 28.0.2 。

安装一个android studio,可以在里面下载所须要的 SDK 和 NDK 

https://developer.android.google.cn/studio/archive?hl=zh-cn


2. 下载和安装
2.1 安装JDK

jdk-8u256

设置JAVA环境变量:

在JAVA_HOME中加入D:\ProgramFiles\Java\jdk1.8.0_256,

在PATH中加入"%JAVA_HOME%\bin";"%JAVA_HOME%\jre\bin";

2.2 安装QT5.12.2

https://download.qt.io/official_releases/qt/5.12/5.12.2/qt-opensource-windows-x86-5.12.2.exe

依需求安装组件,Qt 5实在是有点大。

2.3 下载安装Android NDK

按照官方文档,如果选择”Qt 5.12.0 to 5.12.5“,适配的NDK是NDK r19c

android-ndk-r19c.....

https://developer.android.google.cn/ndk/downloads/older_releases?hl=zh-cn#ndk-19c-downloads

将NDK解压到 D:\Android_NDK\android-ndk-r19c,并将这个路径加入到环境变量NDK_HOME,然后将NDK_HOME加入全局变量PATH

2.4  下载安装Android SDK
由于原先界面版本的Android SDK已经被官方废弃,所以下载command line版本的SDK

commandlinetools-win-7583922_latest.zip

将压缩包解压到C:\Android_SDK_CommandLine\cmdline-tools,D:\Android_SDK_CommandLine\cmdline-tools\bin加入到环境变量SDK_HOME,然后将SDK_HOME加入全局变量PATH
然后升级SDK

D:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=D:\Android_SDK_CommandLine --install "platform-tools" "platforms;android-29" "build-tools;29.0.2" "ndk;21.3.6528147"
D:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=D:\Android_SDK_CommandLine --install "emulator" "patcher;v4"
D:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=D:\Android_SDK_CommandLine --install "extras;google;usb_driver"

需要代理的命令类似下面:

.\sdkmanager.bat --sdk_root=C:\Android_SDK_CommandLine  --no_https --proxy=http --proxy_host=proxy.bizerba.com --proxy_port=8080 --list
.\sdkmanager.bat --sdk_root=C:\Android_SDK_CommandLine  --no_https --proxy=http --proxy_host=proxy.bizerba.com --proxy_port=8080 --install <software>

当然我在有代理的情况下不太成功,最终还是在家在没有代理的情况下升级好,拷贝到了公司用。


3. Qt Creator配置
运行Qt Creator, 点击 Tools -> Options -> Devices -> Android
将D:\ProgramFiles\Java\jdk1.8.0_256设置在Java Location
将D:\Android_SDK_CommandLine 设置在Android SDK Location
将D:\Android_NDK\android-ndk-r19c设置在Android NDK location
如果Qt Creator识别正确,打勾了的话,环境应该就可以了。

4. 新建测试工程
我之前是卡在这里了,在最后androiddeployqt.exe去deploy的时候,报错。
最开始还以为是代理问题,因为在家里成功的时候,gradle会在这里下载很多支持包。
后来把新建工程的路径挪到了D盘跟目录,就好了,可能是因为我的工程路径里有空格。
最终成功编译了apk

5.安装和卸载APK
我是网络链接的adb,类似这样:

adb connect 172.25.115.199

安装和卸载APK

安装:
adb install <apk name>
查询Package列表,查看package name:
adb shell pm list packages
根据package name卸载APK:
adb shell pm uninstall -k <package name>

参考文献:

https://doc.qt.io/qt-5/android-getting-started.html

### Qt 5.6.0Qt 5.12.12中WebSocket功能的区别 在Qt的版本演进过程中,WebSocket模块的功能和实现方式经历了改进和优化。以下是Qt 5.6.0Qt 5.12.12中WebSocket功能的主要区别: #### 1. **模块稳定性与功能增强** Qt 5.12.12对WebSocket模块进行了更深入的测试和优化,修复了多个在Qt 5.6.0中存在的已知问题。例如,在Qt 5.12.12中,WebSocket协议的握手过程更加健壮,并且支持更多的边缘场景[^1]。此外,Qt 5.12.12中的WebSocket模块提供了更好的错误处理机制,能够更清晰地报告连接失败的原因。 #### 2. **性能改进** 相较于Qt 5.6.0Qt 5.12.12中的WebSocket模块在数据传输效率方面有所提升。这主要得益于底层网络栈的优化以及对现代硬件的支持。例如,Qt 5.12.12引入了更高效的缓冲区管理策略,减少了不必要的内存分配操作[^1]。 #### 3. **API变化** 虽然WebSocket的核心API在两个版本中保持了一致性,但在Qt 5.12.12中,部分API得到了扩展或改进。例如,`QWebSocket`类新增了一些信号和槽函数,用于更精细地控制连接状态和数据流。以下是示例代码展示如何使用这些新增功能: ```cpp #include <QWebSocket> #include <QUrl> void setupWebSocket(QWebSocket *webSocket) { QObject::connect(webSocket, &QWebSocket::connected, []() { qDebug() << "WebSocket connected"; }); QObject::connect(webSocket, &QWebSocket::disconnected, []() { qDebug() << "WebSocket disconnected"; }); QObject::connect(webSocket, QOverload<Qt::SocketError>::of(&QWebSocket::error), [](QAbstractSocket::SocketError error) { qDebug() << "WebSocket error:" << error; }); } ``` #### 4. **安全性增强** Qt 5.12.12中的WebSocket模块增强了安全性,支持更多现代加密标准。例如,TLS 1.3协议的支持使得数据传输更加安全。此外,Qt 5.12.12还改进了证书验证逻辑,确保客户端和服务端之间的通信更加可靠。 #### 5. **兼容性与平台支持** Qt 5.12.12对跨平台的支持更为完善,特别是在移动设备(如Android和iOS)上,WebSocket功能的表现更加稳定。而在Qt 5.6.0中,某些平台上可能存在未解决的兼容性问题。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值