В статье говорится о том, как создать и запустить приложение в Qt под Android.
Содержание
- Настройка Qt для программирования под Android
- Создание проекта
- Запуск на реальном устройстве
- Запуск на виртуальном устройстве
- Пошло что-то не так с запуском на виртуальном устройстве
Настройка Qt для программирования под Android
Об этом вы можете узнать из статьи Установка Qt под Android.
Создание проекта
Создайте новый проект.
Задайте папку, где будете хранить проект и имя самого проекта. Не допускайте в пути и имени русские буквы!
Выберите под какие архитектуры процессоров вы будете компилировать приложение.
Дальше всё по умолчанию:
Переходим на форму:
Перетаскиваем на форму кнопку и растягиваем ее.
Запуск на реальном устройстве
Запускать на реальном устройстве проще, чем на виртуальном. Главное, чтобы вы включили отладку на телефоне, подключили его кабелем к компу, и чтобы на копме были драйвера на ваш телефон (на некоторые телефоны не нужны). Например, для Samsung устройств это делается через установку KIES. В общем, на тему подключения телефона аль планшета к компу для запуска Android приложений написано много статей.
У меня JIAYU G4 (для него дополнительные драйвера, например, не нужны). На разных устройствах разные могут стоят процессоры, и какую архитектуру выбрать не всегда понятно. Покажу, где это искать.
Я подключил телефон к компу. В Qt Creator выбираем первую попавшийся архитектуру.
И запускаем компиляцию приложения.
Появится окно выбора устройства для запуска приложения.
И там видим, что на моем телефоне запустить нельзя, так как на нем можно запускать приложения под архитектуру armeabi-v7a.
Значит, в настройках выбираем компиляцию под armeabi-v7a в режиме Release.
Запускаем.
И теперь наше устройство доступно для запуска приложения на телефоне:
Начнется компиляция apk файла, установка его на телефон и запуск приложения.
Процесс может быть не быстрым. Если вы увидели это:
то можете посмотреть, что на телефоне появилось. У меня вот это появилось.
Мы создали приложение и установили на телефоне! Обратите внимание, что наше приложение немного отличается от того, что мы создали в дизайнере форм по внешнему виду, и будет отличаться от того вида, которое мы увидим, если скомпилируем под Windows.
То есть, размеры кнопок и других элементов будут изменены. А чтобы и на компе и на телефоне приложение выглядели одинаково, нужно активно использовать разметку Layout, минимальные размеры компонентов и так далее. Но это уже из области верстки приложений.
Почему так сделано? Почему не компилируется так, чтобы приложение выглядело таким же как и на компе? Потому что Android устройства бывают разными, с разными разрешениями, пропорциями экрана. И жесткие размеры и положения элементов приведут к тому что на многих устройствах приложения не будут влазить в экран. В общем, фигня получится.
Теперь еще один момент. Лично я сохранил проект в папке D:\QtProjects:
И там появилась после компиляции папка с нашим сгенерированным приложением:
Зайдем в него и там в папку android-build, а там в папку bin:
И вот наш apk файл. Это и есть приложение под Android, которое вы можете распространять. К сожалению, минус Qt в том, что apk файл получается большим. У нас простое приложение с одной кнопкой весит 7Мб. Но это цена того, что мы создали приложение не в JAVA через Android Studio, например, на через Qt на С++.
Запуск на виртуальном устройстве
Теперь запустим на виртуальном устройстве. Вот тут нас ждут танцы с бубном.
Щелкаем на кнопку для выбора системы под компиляцию.
Ждем, когда Qt всё настроит у себя внутри. Если ниже треугольник стал зеленым, то всё в порядке.
Нажимаем на него (на зеленый треугольник).
Если всё скомпилировалось удачно, то появится окно с выбором устройства для запуска приложения. Так как у меня еще и телефон подключен физически, то у меня виден телефон. У вас этого не будет (если только не подключите специально телефон аль планшет).
Выберете наше виртуальное устройство (оно должно быть в разделе Compatiable devises).
Внизу в Qt Creftor стали появляться данные о компиляции и запуске приложения на виртуальном устройстве.
Внизу справа можно посмотреть на процент компиляции. Процесс не быстрый! Может занять несколько минут!
Если всё пойдет хорошо, то у вас на виртуальном устройстве запустится приложение, и всё будет ok. То есть вы запустили приложением, оно работает, в папке с скопилированным приложением в папке android-build, а там в папке bin найдете apk файл.
Дальнеший же текст предназначет для тех, у кого пошло что-то не так.
Пошло что-то не так с запуском на виртуальном устройстве
Иногда бывает так, что вы запускаете компиляцию вашего приложения, но виртуальное устройство не видится среди доступных:
Теперь оно в разделе Uncompatiable devises. Если мы по нему дважды щелкнем, то Qt Creator выдаст ошибку «When executing step “Deploy to Android device”»
Вначале проверьте платформу процессора, под которую вы компилировали, и платформу на виртуальном устройстве. Если они совпадают, то может помочь следующее:
С этой напастью разобраться просто. Идем в папку, где у вас хранится проект.
И удаляем ту папку, которой соответствует папка с скомпилированым приложением под ту архитектуру у процессора, под которую мы компилировали.
И пробуем опять запустить.
Итак, вы создали и запустили свое первое Android приложение, созданное на Qt.