如何将所需的库添加到 Android 应用程序的 pyqtdeploy 项目文件中?

How to add required libraries to a pyqtdeploy project file for an Android app?

我已经使用 PyQt5 和 pyqtdeploy 成功地将 QtWigets 应用程序部署到 Android。但是,当我想部署基于 QML 的应用程序时,应用程序崩溃了。 我发现以下 QML 片段缺少 Qt5QuickTemplates2.so 和 Qt5QuickControls2.so:

import Quick 2.0
import QuickControls 2.5
...

如何在项目文件中声明这些库?
Qt 部分没有可检查的条目。
只有 QtQuick 和 QtQml。

您可以尝试 deployqt 个应用程序。

  • 如果您正在使用 Linux,请尝试 linuxdeployqt 来自 here
  • 如果您正在使用 Windows,请尝试 windeployqt 来自 here

备选方案:

  • 只需将 所有 库和插件 复制到您的 应用程序路径
  • 更改 Qt 文件夹的名称
  • 执行应用程序
  • 尝试删除所有库和插件(不是root用户)
  • 系统会提示app使用的文件无法删除

干杯!

幸运的是我找到了解决办法。

在任何地方都没有记录,所以我只知道这个解决方法。
在 运行 androiddeployqt 之前,我必须将有效的 QML 文件复制到 build-directory androiddeployqt 可以找到该文件的地方。
查看 android-lib*.so-deployment-settings.json 文件中 build-directory 的密钥 "qml-root-path":
已经设置了 qml-root。在我的例子中是 build-android-32.

androiddeployqt 正在扫描此文件,并且可能还扫描相关的 qml 文件以获取导入语句。然后它知道要部署哪些额外的库。