• Qt 5.12.4 build Android apk


    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

  • 相关阅读:
    转:SQL Server 2005 Express附加数据库为“只读”的解决方法!
    通过WPF模拟交通红绿灯(图文教程)
    手把手教你怎样把文件保存到Oracle数据库
    已删除
    JavaScript精炼类(class)、构造函数(constructor)、原型(prototype)
    Ext:RowLayout和ColumnLayout连用必须加panel的问题
    Ext:前台js往gridpanel动态添加记录
    "int i=1" "int i=new int() "和“String str = "a";” “String str = new String("a")”区别以及c#值类型和引用类型
    未能加载文件或程序集“Model Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
    hibernate:inverse、cascade,一对多、多对多详解
  • 原文地址:https://www.cnblogs.com/hkingsp/p/15849894.html
Copyright © 2020-2023  润新知