发布日期:2025-10-15 03:53浏览次数:
上周突然心血来潮想试试用Qt搞安卓开发。随手打开官方文档,按照教程一步步操作,结果刚装环境就给我整崩溃了。下了个Qt维护工具,勾选了安卓组件,进度条磨磨蹭蹭跑了两小时。安装完一看,好家伙,光SDK和NDK就占了20多G硬盘!
新建了个空白工程,手机插上电脑点了运行。等了三分钟弹出个报错框:找不到有效的安卓工具链。当时就懵了,明明所有依赖都装全了?翻遍设置页面才在Qt套件配置里发现问题——JDK路径被自动识别到Program Files,但路径里的空格把编译器整不会了。
解决了路径问题后终于打包成功,结果安装完直接闪退。用logcat抓日志发现报错so库加载失败。原来Qt默认只编译arm64架构,我那台旧测试机是armv7的。又在pro文件里补了句:
ANDROID_ABIS = armeabi-v7a arm64-v8a重新编译完总算能跑起来了,结果界面糊得像是打了马赛克。查了两小时文档才发现得在*里加这行:
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);想调用摄像头时又栽跟头。在*里加了权限声明,运行时还是被拒绝。原来从安卓6.0开始要动态申请权限。翻Qt文档找到这段代码:
折腾到凌晨三点突然发现,Qt的权限API和原生安卓的返回值居然是反着的!
说点实在的,新手要注意这几点:
现在我电脑里还留着十五个报错截图文件夹,每个坑平均消耗三杯咖啡。要说难不难?反正比原生开发省时间,但配置过程足够让你戒掉咖啡因。