操作系统: win10 64位
QT版本: 5.12.6
想学习Linux下QT的Android环境搭建看这里(ubuntu版本): https://blog.csdn.net/xiaolong1126626497/article/details/117256660
想学习QT入门到精通编程的看这里:https://blog.csdn.net/xiaolong1126626497/article/details/116485145
下载地址: http://download.qt.io/archive/qt/5.12/5.12.6/
下载5.12版本(使用比较稳定),进行安装,在安装软件过程中,需要选择安装Android相关的编译器。
下载之后,双击开始安装,根据提示下一步下一步点击即可。
注意: 如果没有QT的账号,安装前电脑需要断网(断开WIFI或者拔掉网线),有网的话需要登录QT的账号才能继续安装。
后面下一步下一步继续就行了。
1、删除C:\Users\112662\AppData\Roaming文件下的QtProject文件夹
2、设置兼容模式,且以管理员身份运行此程序
3、关闭有道词典:Qt和有道词典有冲突,使用Qt的时候打开有道词典很容易发生Qt卡死。
4、根据Qt的实际安装路径找到C:\Qt\Qt5.12.4\Tools\QtCreator\share\qtcreator\translations文件夹下的qt_zh_CN.qm、qt_en.qm两个文件,将qt_zh_CN.qm删除,再将qt_en.qm复制一份并改名为qt_zh_CN.qm,问题即可解决。
5、把QTcreator单独强制设置为集显就行了,这样全局依然可以选择高性能显卡。
软件安装完毕之后,打开软件,开始配置Android环境。
Android开发必备的工具链包括:Java JDK 、Android SDK 、Android NDK
下载链接分别点击QtCreator中的按钮就能跳转到。
官网下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
CSDN下载地址(稳): https://download.csdn.net/download/xiaolong1126626497/19052977
源下载地址: https://www.androiddevtools.cn/
CSDN下载地址(稳): https://download.csdn.net/download/xiaolong1126626497/19052967
选择下载的SDK工具版本:
将SDK工具下载之后解压,运行“SDK Manager.exe ”SDK管理工具。
注意:运行“SDK Manager.exe ”之后,软件会顿1~5秒才会打开,需要等待一下。
运行SDK管理工具:
选择SDK平台工具、编译工具:
选择下载API包: (下面红色框框标注的表示是我已经安装的),安装SDK可以根据自己情况,一般选择几个常用Android版本。
需要的插件包选择好之后(上面的根据自己需求选择),就开始下载:
下面是安装的过程:
Windows-x86_64 r19c下载地址: https://dl.google.com/android/repository/android-ndk-r19c-windows-x86_64.zip
CSDN下载地址(稳): https://download.csdn.net/download/xiaolong1126626497/19052963
其他版本的NDK下载地址:
https://dl.google.com/android/repository/android-ndk-r20-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r20-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r20-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r19c-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r19c-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r18b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r18b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r18b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r17c-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r17c-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r16b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r16b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r15c-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r14b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r14b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r14b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r13b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r13b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r12b-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r12b-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r11c-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r11c-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r10e-windows-x86.zip
https://dl.google.com/android/repository/android-ndk-r10e-windows-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r10e-darwin-x86_64.zip
https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
把前面下载的JDK、SDK、NDK全部解压,放在英文路径下,然后在这个页面选择合适的路径。(配置Android环境)
配置好环境之后,创建工程,编译时就可以选择Android编译器。
在创建工程时,选择Android编译套件。
为了提高开发效率,可以插入Android真机调试。Android手机通过数据线插入电脑,打开Android手机开发者模式,打开USB调试功能,确认授权调试。
编译程序前,把Android手机插在电脑上,打开USB调试,编译选择识别的Android真机。(当前测试的手机是 “一加5T”)
生成的XML文件里,可以配置图标、版本等信息:
创建密匙和证书: 根据提示创建完,选择即可。
出现的错误:
在C:\ andioid-path \ android-sdk_r24.4.1-windows \ android-sdk-windows \ licenses中检查软件包Android SDK Platform 21的许可证
警告:不接受Android SDK Platform 21软件包的许可证。
进入windows的DOS命令窗口。
进入到CMD命令行: 更新sdkmanager
C:\WINDOWS\system32>C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools\bin\sdkmanager.bat --update Warning: An error occurred during installation: Failed to move away or delete existing target file: C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools Move it away manually and try again.. done |
运行上面命令出现错误,解决办法, 首先进入SDK的安装目录, 我的SDK目录:
我的SDK目录: C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools; 找到tools文件夹, 把他重命名成tool, cmd下执行 C:\WINDOWS\system32> C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tool\bin\sdkmanager.bat --update Warning: Observed package id 'tools' in inconsistent location 'C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tool' (Expected 'C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools')
Warning: Observed package id 'tools' in inconsistent location 'C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tool' (Expected 'C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools') |
Warning不要管他。 执行结束后会有done。
此时SDK目录会新增一个tools,把tools里的所有文件移到tool里,有重复,选择全部选替换,接着把tools文件删除掉,然后将tool改为tools。
然后在命令行执行生成证书的命令: C:\WINDOWS\system32>C:\andioid-path\android-sdk_r24.4.1-windows\android-sdk-windows\tools\bin\sdkmanager.bat --licenses Exception in thread "main" java.lang.NoSuchFieldError: FN_AAPT2 at com.android.sdklib.BuildToolInfo. at com.android.sdklib.BuildToolInfo.fromStandardDirectoryLayout(BuildToolInfo.java:233) at com.android.sdklib.repository.legacy.local.LocalSdk.scanBuildTools(LocalSdk.java:897) at com.android.sdklib.repository.legacy.local.LocalSdk.getPkgsInfos(LocalSdk.java:543) at com.android.sdklib.repository.legacy.LegacyLocalRepoLoader.parseLegacyLocalPackage(LegacyLocalRepoLoader.java:100) at com.android.repository.impl.manager.LocalRepoLoaderImpl.parsePackages(LocalRepoLoaderImpl.java:167) at com.android.repository.impl.manager.LocalRepoLoaderImpl.getPackages(LocalRepoLoaderImpl.java:124) at com.android.repository.impl.manager.RepoManagerImpl$LoadTask.run(RepoManagerImpl.java:518) at com.android.repository.api.RepoManager$DummyProgressRunner.runSyncWithProgress(RepoManager.java:397) at com.android.repository.impl.manager.RepoManagerImpl.load(RepoManagerImpl.java:365) at com.android.repository.api.RepoManager.loadSynchronously(RepoManager.java:290) at com.android.sdklib.repository.AndroidSdkHandler$RepoConfig.createRepoManager(AndroidSdkHandler.java:725) at com.android.sdklib.repository.AndroidSdkHandler.getSdkManager(AndroidSdkHandler.java:296) at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.setSdkHandler(SdkManagerCliSettings.java:101) at com.android.sdklib.tool.sdkmanager.SdkManagerCli. at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:74) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
C:\WINDOWS\system32> |
如果还是解决不了错误,建议将SDK删除掉,重新下载安装一次。
应用程序已经成功部署到设备上。再部署过程中,手机上要点击同意安装。
生成的APK文件: