Nano Hash - криптовалюты, майнинг, программирование

Как добавить необходимые библиотеки в файл проекта pyqtdeploy для приложения Android?

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

import Quick 2.0
import QuickControls 2.5
...

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

04.07.2019

  • Похожий вопрос для случая, когда в сгенерированном пакете Android APK отсутствуют файлы QML, а не библиотеки .so. 11.06.2020

Ответы:


1

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

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

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

05.07.2019

2

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

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

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

Ваше здоровье!

05.07.2019
  • Я хочу развернуть приложение для Android. Так что deployqt не вариант, и нет папки, в которую я мог бы скопировать файлы. Я все еще говорю о развертывании apk. 05.07.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..