用安卓5.12,SDK Android5 API22开发(搞过安卓权限的能明白为止选择要选择Android5)
踩了3天坑,终于把Qt的Android开发环境从Qt5.5升到Qt5.12(能把Qt for Android 配置环境将明白的文章网上几乎没有)
期间自个把Qt5.5、Qt5.6、Qt5.9、Qt5.10、Qt5.11、Qt5.12全装上,
比较他们之间差异,经验汇总一下:
Qt5.9之前用的是Ant,NDK9
Qt5.9-Qt5.11用的是gradle3.4,NDK10-17
Qt5.12用的是gradle4.6,NDK最低18
Android6之前权限,比如SD卡读写权限,设置WRITE_EXTERNAL_STORAGE就行
Android6之后权限,比如SD卡读写权限,设置WRITE_EXTERNAL_STORAGE后只能访问sd卡Android/data/自己程序名这个位置
因为上个项目的板子是Android5.1,这个项目板子是Android8.1,但是Android6后权限很难搞定,所以采用方案是Qt5.12长期支持版,用Android5的
API22编译。
直接给出可行配置方案:
1.win10-x64、Qt5.12.3、JDK8-x64、NDK18-x64、SDK(tools25、platform-tools29、build-tools28)【build-tools不能选29】
2.把Qt5.12的gradle4.6降到gradle3.4(因为4.6打包API22编译的文件就报错)
用Qt5.9.8的Qt5.9.8\5.9.8\android_armv7\下的src 替换掉Qt5.12.3\5.12.3\android_armv7\下的src
(第一次编译回去联网下载gradle3.4及其相关文件,如果下载不下来,自行百度布置qt的gradle3.4)
3.配置安卓编译环境build SDK选22,targate SDK选22
