Russian Qt Forum

Qt => Qt Embedded => Тема начата: iLya84a от Август 21, 2013, 13:44



Название: Qt5 Android Launcher
Отправлено: iLya84a от Август 21, 2013, 13:44
(https://dl.dropboxusercontent.com/u/1716162/Qt5AndroidLauncher.jpg) (http://youtu.be/n6-I1Zg72V4)
Всем привет! Сделал небольшой лаунчер для Android на Qt5.
Вдруг кто-то делает что-то подобное. Готов ответить на вопросы.
Картинка кликабельна - по ссылке ролик.


Название: Re: Qt5 Android Launcher
Отправлено: _OLEGator_ от Август 21, 2013, 13:56
У меня до сих пор не получилось запустить программу под андроид.
Скачивал с официального сайта сборки Qt 5.1 под андроид. Собирал с разными настройками (брать системные библиотеки, встраивать в пакет).
Я собираю apk-пакет и вручную заливаю на устройство - драйверов для отладки через usb нет.
Упорно запускает Ministro и говорит, что не удалось удовлетворить зависимости для приложения.

Не сталкивался с таким? Что я делаю не так?


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Август 21, 2013, 14:21
Я начинал с 5.0.2 в мае. Вот тогда была куча проблем, которая заставила меня пересесть с Win7 на Ubuntu.
Теперь же, с выходом 5.1.0, всё стало значительно проще. Вернулся на Win7.
Приложение одинаково хорошо работает и на x86 и на arm.
Чаще всего apk заливаю вообще через adb (http://developer.android.com/tools/help/adb.html). Не пробовал так?


Название: Re: Qt5 Android Launcher
Отправлено: _OLEGator_ от Август 21, 2013, 14:25
Нет, не пробовал. После сборки просто копировал apk на устройство и устанавливал.


Название: Re: Qt5 Android Launcher
Отправлено: Yuri от Август 22, 2013, 16:02
iLya84a, выглядит интересно! Сам планирую в ближайшее время перенести ланчер с Java на Qt

Что использовали в основе интерфейса? QML?
На каком железе тестировали? Велики ли требования?
Планируете ли выкладывать исходники?

Спасибо


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Август 23, 2013, 08:37
Yuri, полностью без Java обойтись не получилось. Задачи такой даже не ставил. Проект получился миксом из Java, C++(JNI) и QML.

Интерфейс конечно QML. Работает очень плавно. Но есть один неприятный момент. Такое ощущение, что некоторые тач-события отбрасываются. Пока не разобрался с этим.

Тестировал на разном железе:
Samsung Series 7 11.6" XE700T1A-A01 Slate
Acer Iconai Tab A510
ODROID-X2 (http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135235611947) (Именно на этой плате будет работать готовый продукт)

Исходники выкладывать не имею права :(
Но описать интересные моменты могу. Для этого и создал тему :)


Название: Re: Qt5 Android Launcher
Отправлено: Yuri от Август 24, 2013, 23:48
iLya84a, спасибо!
А для реализации графики тоже требовалась Java? или на уровне обработчиков?

И еще: иконки подгружаете динамически из приложений или они фиксированы?
А виджеты выводить на панели пробовали? и если да, то были ли сложности?

Ну и заодно еще по системе:
а на старых версиях  Android (2.3.3, например) проверяли? есть разница по плавности,скорости. совместимости?


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Август 25, 2013, 09:28
Yuri, для графики Java не потребовалась. Но для всего остального использую интенсивно:
- получение информации об установленных приложениях
- запуск приложений
- обработка событий закрытия запущенного приложения и возвращения в лаунчер
- сохранение и запись настроек (JSON)
Иконки достаю из установленных пакетов. Полная динамика.
С виджетами пока ничего не делал.
На старых версиях Android не тестировал )


Название: Re: Qt5 Android Launcher
Отправлено: BolshakovFG от Август 28, 2013, 03:02
Илья, возможно ли с вами проконсультироваться на тему развертывания среды для компиляции, линковки и т.д. с проекта apk файла? ... Много времени уже потрачено на эксперименты, находимся в тупике. Пока крутим разработку на windows и mac os, но необходимо посмотреть что будет под андроид, чтоб учесть возможные нюансы.

Прямая связь возможна? Емайл/скайп, или все вопросы только через форум?


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Август 28, 2013, 08:04
BolshakovFG, email в профиле. Skype: ilya.aleshkov
С удовольствием помогу!


Название: Re: Qt5 Android Launcher
Отправлено: BolshakovFG от Август 28, 2013, 09:23
Благодарю, вечером свяжусь в скайпе ... Сейчас я еще делаю попытку - установил qt-windows-opensource-5.1.1-android-x86-win32-offline-2013-08-27-121 ... - эта версия вроде встала без ошибок, даже компилирует проекты, на десктопе показывает все ок, правда требует OpenGl, т.е. на виртуальной машине с win2003 я, при запуске, вижу только белый экран и получаю в логе ошибки обращения к OpenGl. С OpenGl разобрался ... вижу свой проект на эмуляторе, есть правда сложности: для андроида ранее не делал ничего - тут многооконного режима нет, а при втором окне подвис, все в одном окне надо делать?

Илья, как получить нормальный apk (я имею пока тот, который находится в папке android/bin/ и имеет название  МойПроект-debug.apk) ?


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Август 28, 2013, 14:29
С OpenGl разобрался ... вижу свой проект на эмуляторе, есть правда сложности: для андроида ранее не делал ничего - тут многооконного режима нет, а при втором окне подвис, все в одном окне надо делать?
BolshakovFG, да, всё в одном окне - Only one OpenGL window supported (http://qt-project.org/wiki/Qt_for_Android_known_issues)
Илья, как получить нормальный apk (я имею пока тот, который находится в папке android/bin/ и имеет название  МойПроект-debug.apk) ?
Сейчас сам с этим разбираюсь. Запись семинара (https://qt-digia.webex.com/ec0606l/eventcenter/recording/recordAction.do?theAction=poprecord&AT=pb&utm_medium=email&renewticket=0&isurlact=true&recordID=4147317&utm_source=hs_email&utm_campaign=webinar-campaign&apiname=lsr.php&rKey=F57FDF6BFB9842A8&format=short&needFilter=false&&SP=EC&rID=4147317&_hsenc=p2ANqtz-8gH59BZxDBKbZ83IZOZxiFGOqfSBzk5cReGHUwMColMHD_8V14RwEr3UgPUOfhFvLxfiN3oPWJNOs55kcr4ksOOs7ZEQ&siteurl=qt-digia&utm_content=9785793&actappname=ec0606l&actname=%2Feventcenter%2Fframe%2Fg.do&rnd=7849991258&_hsmi=9785793&entappname=url0108l&entactname=%2FnbrRecordingURL.do), в котором что-то было об этом. Руки не доходят пересмотреть.


Название: Re: Qt5 Android Launcher
Отправлено: BolshakovFG от Август 30, 2013, 04:57
Спасибо, качаю .... сейчас посмотрю.


Название: Re: Qt5 Android Launcher
Отправлено: Владислав от Август 31, 2013, 10:05
iLya84a, по поводу отброса некоторых тач-событий - натыкался на такое. Моё мнение - это специфика работы qt qml на "медленных" устройствах.

Мнение основано на опыте - разрабатываю софт на qt 4.8.3 для встроенных систем.
Разработку и общую отладку веду на PC (в Windows 7). 

Для работы софта на платормах разной вычислительной мощности пришлось сделать возможность использования общего доступа к формам Gui со скрытием специфики их реализации.
Сейчас поддерживаются следующие реализации форм:
QML как QDeclarativeComponent, воспроизводится на QGraphicsScene
QWidget как QGraphicsProxyWidget, воспроизводится на QGraphicsScene
и для самых медленных устройств:
QWidget как простое окно

Но, может быть Вы найдёте в qt что-то ещё, влияющее на проблему отброса в qml тач-событий, прошу по возможности сообщить.

А тема успешного(и по всей видимости коммерческого) использования Qt на Андроид - любопытнейшая! Ваше желание поделиться своим опытом - прекрасно.



Название: Re: Qt5 Android Launcher
Отправлено: vizir.vs от Ноябрь 05, 2013, 08:55
Есть ли в вашем приложении push notification (уведомления, которые можно глянуть, вытянув верхнюю панель)? Если есть, как они реализованы?


Название: Re: Qt5 Android Launcher
Отправлено: kibsoft от Ноябрь 05, 2013, 11:02
>>Есть ли в вашем приложении push notification (уведомления, которые можно глянуть, вытянув верхнюю панель)? Если есть, как они реализованы?
Если они и есть, то реализованы они на Java. А в C++/Qt части работа ведется через JNI.


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Ноябрь 05, 2013, 11:23
vizir.vs, таких уведомлений у меня еще нет.
kibsoft, всё верно!


Название: Re: Qt5 Android Launcher
Отправлено: kibsoft от Ноябрь 05, 2013, 13:00
iLya84a, а получилось ли у вас запустить QtQuick2 приложение на родном эмуляторе, либо на Genymotion?


Название: Re: Qt5 Android Launcher
Отправлено: iLya84a от Ноябрь 05, 2013, 13:09
kibsoft, даже не пытался, если честно )


Название: Re: Qt5 Android Launcher
Отправлено: vizir.vs от Ноябрь 05, 2013, 14:04
iLya84a, а получилось ли у вас запустить QtQuick2 приложение на родном эмуляторе, либо на Genymotion?

А что значит на родном? Я на Ubuntu ставил Qt5.1, Android SDK и Android NDK у меня получалось запускать на эмуляторе.


Название: Re: Qt5 Android Launcher
Отправлено: kibsoft от Ноябрь 06, 2013, 10:40
Да, под "родным" я имел в виду именно тот, который идет в Android SDK. Там у меня самое приложение работало (вывод в консоль был), но вместо UI был черный экран(тоже под Ubuntu и Qt 5.1).


Название: Re: Qt5 Android Launcher
Отправлено: vizir.vs от Ноябрь 07, 2013, 11:14
Да, под "родным" я имел в виду именно тот, который идет в Android SDK. Там у меня самое приложение работало (вывод в консоль был), но вместо UI был черный экран(тоже под Ubuntu и Qt 5.1).

У меня проблем не было, все норм работало. Могу вечером выложить тестовый проект.


Название: Re: Qt5 Android Launcher
Отправлено: kibsoft от Ноябрь 08, 2013, 10:26
С 5.2 попробовал - все работает.


Название: Re: Qt5 Android Launcher
Отправлено: silverrulezz от Ноябрь 20, 2013, 18:02
Цитировать
Такое ощущение, что некоторые тач-события отбрасываются. Пока не разобрался с этим.
Как вы вообще реализовывали обработку тач-событий?
Собрал пример imagegestures (реалезован на QtWidgets) под Qt 5.2.0-beta1. Обрабатываются только Tap, TabAndHold, Pinch. Pan и Swipe вообще не приходят.
С QtQuick 2.0 тоже беда. MultiPointTouchArea и PinchArea работают. А подключить GestureArea из Qt.labs.gestures 2.0 никак не могу. Qt Creator видит модуль, но при запуске выдает: "module "Qt.labs.gestures" is not installed" что под Desktop что под Android.