基于Qt 5.12.2(Qt Creator4.8.2),可以部署Android环境,进行QT C++代码开发并编译出出apk,运行于手机或模拟器上。
步骤1,下载Qt5.12.2
https://download.qt.io/official_releases/qt/5.12/5.12.2/qt-opensource-windows-x86-5.12.2.exe
在安装过程中,选择以下3个Android组件,满足不同处理器手机的需要
1)Android x86
2)Android ARMv7
3)Android ARM64-v8a
步骤2,下载JDK1.8,如jdk1.8.0_40_x64或其他版本
步骤3,下载SDK,如android-sdk_r24.4.1-windows.zip
Android SDK 百度网盘下载地址链接 http://tools.android-studio.org/index.php/sdk/
运行android-sdk-windowsSDK Manager.exe下载相应的编译链工具和环境,此处选择Android9(API 28)
步骤4,下载NDK,如android-ndk-r18b-windows-x86_64.zip
NDK 下载 | Android NDK | Android Developers
以上4个步骤完成后,打开Qt Creator进行配置Android环境,如下图
以上,说明JDK、SDK和NDK已经部署成功完毕。
(未安装image时,无法创建AVD Android Virtual Device)
如果需要在本地启动Android模拟器,还需要在SDK Manager中下载相应的x86、x86_64、arm64-v8a和armeabi-v7a的image镜像文件;下载完毕后,在【AVM管理器】点击【add】,选择手机型号和image镜像,就可以创建出Android虚拟设备,在Qt Creator中运行时选择使用。
(Android7.1.1以后,不再提供arm系列的image,因此只能下载x86和x86_64的image)
下面,可以新建工程,选择Android设备,开发和编译出apk了,如下图
从上图可以看出,已经可以选择Android设备,通过设置project项目属性,如下图
点击【构建】,就可以生成apk了。
07:51:08: 为项目untitled-1执行步骤 ... 07:51:08: 配置没有改变, 跳过 qmake 步骤。 07:51:08: 正在启动 "C:SkySVNAndroidToolsandroid-ndk-r18b-windows-x86_64android-ndk-r18bprebuiltwindows-x86_64binmake.exe" -j8 make: Nothing to be done for `first'. 07:51:08: 进程"C:SkySVNAndroidToolsandroid-ndk-r18b-windows-x86_64android-ndk-r18bprebuiltwindows-x86_64binmake.exe"正常退出。 07:51:08: Removing directory C:UsersAdministratorPersonalbuild-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Releaseandroid-build/assets 07:51:08: Removing directory C:UsersAdministratorPersonalbuild-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Releaseandroid-build/libs 07:51:08: 正在启动 "C:SkySVNAndroidToolsandroid-ndk-r18b-windows-x86_64android-ndk-r18bprebuiltwindows-x86_64binmake.exe" "INSTALL_ROOT=C:UsersAdministratorPersonalbuild-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Releaseandroid-build" install C:QTQt5.12.25.12.2android_arm64_v8abinqmake.exe -install qinstall -exe libuntitled-1.so C:UsersAdministratorPersonalbuild-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Releaseandroid-buildlibsarm64-v8alibuntitled-1.so 07:51:09: 进程"C:SkySVNAndroidToolsandroid-ndk-r18b-windows-x86_64android-ndk-r18bprebuiltwindows-x86_64binmake.exe"正常退出。 07:51:09: Starting: "C:QTQt5.12.25.12.2android_arm64_v8abinandroiddeployqt.exe" --input C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/android-libuntitled-1.so-deployment-settings.json --output C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/android-build --android-platform android-28 --jdk c:/Java/jdk1.8.0_40_x64 --gradle Generating Android Package Input file: C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/android-libuntitled-1.so-deployment-settings.json Output directory: C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/android-build/ Application binary: C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/libuntitled-1.so Android build platform: android-28 Install to device: No -- Skipping C:/QT/Qt5.12.2/5.12.2/android_arm64_v8a/plugins/iconengines/libqsvgicon.so. It has unmet dependencies: lib/libQt5Svg.so. -- Skipping C:/QT/Qt5.12.2/5.12.2/android_arm64_v8a/plugins/imageformats/libqsvg.so. It has unmet dependencies: lib/libQt5Svg.so. :checkDebugClasspath :preBuild UP-TO-DATE :preDebugBuild :compileDebugAidl :compileDebugRenderscript :checkDebugManifest :generateDebugBuildConfig :prepareLintJar :mainApkListPersistenceDebug :generateDebugResValues :generateDebugResources :mergeDebugResources :createDebugCompatibleScreenManifests :processDebugManifest :splitsDiscoveryTaskDebug :processDebugResources :generateDebugSources :javaPreCompileDebug 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 :compileDebugJavaWithJavac :compileDebugNdk NO-SOURCE :compileDebugSources :mergeDebugShaders :compileDebugShaders :generateDebugAssets :mergeDebugAssets :transformClassesWithDexBuilderForDebug :transformDexArchiveWithExternalLibsDexMergerForDebug :transformDexArchiveWithDexMergerForDebug :mergeDebugJniLibFolders :transformNativeLibsWithMergeJniLibsForDebug :checkDebugLibraries :processDebugJavaRes NO-SOURCE :transformResourcesWithMergeJavaResForDebug :validateSigningDebug :packageDebug :assembleDebug BUILD SUCCESSFUL in 8s 28 actionable tasks: 28 executed Android package built successfully in 10.445 ms. -- File: C:/Users/Administrator/Personal/build-untitled-1-Android_for_arm64_v8a_Clang_Qt_5_12_2_for_Android_ARM64_v8a-Release/android-build//build/outputs/apk/debug/android-build-debug.apk 07:51:19: 进程"C:QTQt5.12.25.12.2android_arm64_v8abinandroiddeployqt.exe"正常退出。 07:51:19: Elapsed time: 00:11.
搭建和编译过程中,有问题,请留言。
JDK、SDK、NDK的部署包,可以从我的百度网盘上下载。



