Как добавить необходимые библиотеки в файл проекта pyqtdeploy для приложения Android? - PullRequest
0 голосов
/ 04 июля 2019

Я уже успешно развернул приложение QtWigets на Android, используя PyQt5 и pyqtdeploy.Однако, когда я хочу развернуть приложение на основе QML, приложение вылетает.Я обнаружил, что Qt5QuickTemplates2.so и Qt5QuickControls2.so отсутствуют для следующего фрагмента QML:

import Quick 2.0
import QuickControls 2.5
...

Как я могу объявить эти библиотеки в файле проекта?
В ckeckable записях нетРаздел Qt.
Есть только QtQuick и QtQml.

Ответы [ 2 ]

1 голос
/ 05 июля 2019

Вы можете попробовать deployqt приложений.

  • Если вы используете Linux , попробуйте linuxdeployqt из здесь
  • Если вы используете Windows , попробуйте windeployqt из здесь

Альтернативное решение:

  • Просто скопируйте все из библиотек и плагинов в вашем пути к приложению
  • Изменить имя Папка Qt
  • Выполнить приложение
  • Попробуйте удалить все библиотеки и плагины (не как root)
  • Система сообщит вам, что файлы, используемые приложением , не могут быть удалены.

Ура!

0 голосов
/ 05 июля 2019

К счастью, я нашел решение.

Это нигде не задокументировано, поэтому я знаю только этот обходной путь.
Перед запуском androiddeployqt мне пришлось скопировать действительный файл QML в каталог сборки, где androiddeployqt может найти этот файл.
Загляните вфайл android-lib * .so-deploy-settings.json в каталоге сборки для ключа "qml-root-path":
Там был установлен qml-root.В моем случае это был build-android-32.

androiddeployqt сканирует этот файл и, возможно, также зависимые qml-файлы для операторов импорта.И тогда он знает, какие дополнительные библиотеки нужно развернуть.

...