Pull to refresh

Comments 6

Тоже портировал ствой Qt-проект на Android. У меня изначально использовался libusb и проблем быть не должно было. Остановился на смене маски на 777, благо проект распространяться не будет, а свои устройства все рутую.
Если не трудно, опишите пожалуйста как интегрировать JNI-интерфейс в свой существующий проект. Имею ввиду, какие файлы создать, куда положить. При этом проект же продолжит корректно собираться под windows/linux?
Не совсем понял суть вопроса, но попробую угадать…
Если имеется ввиду, как включить Java-файлы в свой проект, то это достаточно просто: достаточно включить переменную ANDROID_PACKAGE_SOURCE_DIR в pro-файл, указывающую на то, где лежат файлы специфичные для сборки Android, в том числе и исходники на Java. А для использования JNI ничего, кроме как включить в проект androidextras и не требуется.
В примерах есть «Qt Notifier». Я когда только начинал заниматься портом, то делал по подобию, за исключением того, что мой проект использует QtWidgets.
И да, все прекрасно собирается под десктопные платформы, если платформозависимые куски как в .pro-файле, так и в коде обложить ifdef'ами.
Вопрос немного не по теме. Насколько я могу судить по странице загрузки www.qt.io/download/ в Community редакции нет возможности загружать мобильные приложения в публичные магазины. На чем основывается это идиотское ограничение? Или я что-то не так понимаю, может тут подразумевается какой-то встроенный механизм дистрибуции, который доступен только в коммерческих версиях?
Эта таблица не совсем точная. Тут уже обсуждают некоторые моменты.

Дальше, насколько я понимаю лицензию LGPL:
— Если библиотеки Qt идут предустановленные с ОС (Symbian^3 Anna / Belle, Harmattan, Sailfish OS, BlackBerry 10), то проблем быть не должно.
— Если библиотеки можно установить централизованно и пользователь будет иметь возможность заменить их на новые/свои версии (Symbian S60 3rd / 5th Edition со Smart Installer, Android с Ministro), то проблем тоже быть не должно.
— А вот если библиотеки надо распространять вместе с приложением или, вообще, линковать статически, и при этом приложения можно устанавливать только через аппстор (iOS, Windows Phone), то тут проблематично. Т.к. пользователь не сможет просто заменить библиотеки / перелиноквать приложение и установить его на телефон.
Теперь понял. Спасибо. В общем, главное дать пользователю приложения возможность перелинковки библиотек. Ох уж эти лицензии!)
Для динамически слинкованных приложений даже перелинковка не нужна — то-есть, формально, условие LGPL выполняется: подсовывай свои бинарно совместимые библиотеки и радуйся. И этого достаточно для десктопных приложений или платформ, где официально можно устанавливать в обход аппстора (sideloading). А с залоченными платформами, как раз, и начинается основной спор: достаточно ли дать пользователю динамически слинкованное приложение / скомпилированные объектные файлы для статической линковки, или пользователь должен иметь возможность установить это приложение на телефон без его разлочки или других «танцев с бубном».
Sign up to leave a comment.

Articles