1. 概述
目标是在Windows主机上用Qt编译Android apk,在Android目标机上运行。
2. 下载和安装
2.1 安装JDK
jdk-8u101-windows-i586.exe
并将JAVA目录C:\Program Files (x86)\Java\jdk1.8.0_101加入环境变量JAVA_HOME
并将环境变量"%JAVA_HOME%\bin"和"%JAVA_HOME%\jre\bin"加入全局环境变量PATH
2.2 安装QT5.12.4
https://download.qt.io/official_releases/qt/5.12/5.12.4/qt-opensource-windows-x86-5.12.4.exe
组件我选择了全部安装,20多G,实在是有点大。
2.3 下载安装Android NDK
按照官方文档,如果选择”Qt 5.12.0 to 5.12.5“,适配的NDK是NDK r19c
android-ndk-r19c-windows-x86.zip
将NDK解压到C:\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,并将路径C:\Android_SDK_CommandLine\cmdline-tools\bin加入到环境变量SDK_HOME,然后将SDK_HOME加入全局变量PATH
然后升级SDK
C:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=C:\Android_SDK_CommandLine --install "platform-tools" "platforms;android-29" "build-tools;29.0.2" "ndk;21.3.6528147" C:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=C:\Android_SDK_CommandLine --install "emulator" "patcher;v4" C:\Android_SDK_CommandLine\cmdline-tools\bin\sdkmanager.bat --sdk_root=C:\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
将C:\Program Files (x86)\Java\jdk1.8.0_101设置在Java Location
将C:\Android_SDK_CommandLine 设置在Android SDK Location
将C:\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