4 января 2019 г. 5:24

Как запустить проект на Android

Android, Qt

Здравствуйте. Как десктопный проект, скомпилированный с помощью MinGW запустить на Android?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
28

Добрый день.

Нужно собрать apk и закинуть его на Android устройство.

Вообще, вам вот эту статью по Android Manifest нужно почитать.

Здорово, но вы пользуетесь компилятором Android, а у меня он даже проект собрать не может. Скажите пожалуйста, как это сделать с помощью MinGW?

Там для сборки тоже используется MinGW. Вам нужно настроить комплект для сборки Android с архитектурой armeabi-v7a , а в качестве компилятора установить именно MionGW.

Я ещё раз акцентирую внимание на том, что

Под Windows для сборки apk я использовал только MinGW

и ничего другого

То, что там пишет GCC, так я ещё раз повторюсь, что MinGW - это GCC портированный под Windows, поэтому там написано GCC.

Попробовал настроить APK, но при создании шаблона появилась ошибка: Нет файла .pro приложения.

Мне эта ошибка ни о чём не говорит. У вас комплекты настроены для архитектуры armeabi-v7a?

Options -> Kits

Options -> Kits не компилируется. Я пробовал создать шаблон для armeabi-v7a. Но и Android для х86 тоже выдает такую ошибку.

А у вас эти версии Qt установлены?

Также, какая ситуация с самим проектом? Если кликнуть в левой панели на иконку "Projects", то там будет список возможных комплектов.

Ну и следовало бы перезапустить qmake, чтобы обновить всю проектную информацию при подключении сборки с другим комплектом.

Похоже что мой Qt не до конца обновился.

На рисунки то, что у меня есть. Как перезагруить qmake? Если скачать новую версию QT и установить, то указанные компиляторы появятся?

Сборка -> Перезапустить qmake

Посмотрите ещё, какие модули доступны в Maintenance Tool

У меня есть только Сборка -> Запустить qmake Несколько раз запускал qmake, но шаблон так и не создавался. Скажите пожалуйста, что значит Maintenance Tool? У меня Qt на русском и я могу не верно понять и не то глянуть.

maitenance tool - это утилитка для установки компонентов Qt, находится в каталоге Qt, куда вы его устанавливали.

Вот скрин из maitenance too

А раскройте пункт Qt 5.11.0. Я не помню, какие там компоненты под Windows.

Вполне возможно, что у вас всё есть, просто автоматически не добавились комплекты сборки. Тогда нужно вручную их создать во вкладке Комлекты, либо поменять компилятор Clang на MinGW в существующих. По идее должно сработать. Но, конечно, нужно будет указать правильную версию Qt.

Скажите пожалуйста, как поменять Clang на MinGW? Вот содержимое:

Откройте комплект сборки с clang для Андроид и поменяйте там компилятор на MinGW. А также поменяйте Qt на MinGW, если там что-то иное.

Добавил компиляторы андроид из qt 5,12,0 и они перестали выдавать такеие ошибки. Смог собрать необходимые файла. Видимо 5,11 была багованной версией. Скажите пожалуйста, после нужно скинуть папку со скомпилированным проектом и библиотеками на устройство андройд и программа заработает?

ищите apk файл в каталоге сборки, только он нужен, больше ничего не нужно.

Я не нашел в папке скоппилированного MinGW проекто apk файл. Скажите пожалуйста, он сам создается при компиляции? И если да, то где?

в build каталоге того комплекта, с которым собирали. Когда сделаете сборку проекта, то будет где-то в каталоге сборки. Где именно не помню, поищите через поиск

*.apk

Такого файлв нет. Нашел только CheckInstallApk-debug.apk в папке : D:\QT\5.12.0\Src\qtwebengine\src\3rdparty\chromium\build\android но это оказалось не мое приложение CheckInstallApk-debug.apk CheckInstallApk-debug.apk На всякий случай прикрепил этот файл. Также прикрепил проект. немогли бы вы его также скомпилировать и проверить, создается ли у вас файл .арк

AndroidTest.rar AndroidTest.rar

Не могу проверять у себя, поскольку мне придётся всё настраивать, а сейчас времени не имею на это.

Вы когда собираете проект, то у вас рядом с каталогом проекта появляется каталог build-***. Вот в этом каталоге и нужно искать этот apk.

в этом каталоге нет .apk есть только .exe .o .cpp .h .qmake.stash Makefile Makefile.Debug Makefile.Release

exe? - Вы не настроили комплект сборки для архитектуры arm

Настроил, дабавил шаблон APK в проект. На фото добавленные файлы.

Говорю про комплект сборки, а наличие данных файлов вообще ни о чём не говорит в данном случае. У вас могут быть данные файлы в проекте, потому, что проект может быть собран под Андроид. Но это не значит, что был правильно настроен сам комлект сборки.

Ну ок, у вас что-то собирается, тот exe с названием вашего проекта? AndroidTest.exe? Если так, то вы собрали проект под Десктоп, а не под Андроид. Нужно переключить комплект сборки на Андроид. Если есть настроенный комплект.

Комплекты сборки - это там, где вы компиляторы меняли в настройеках в Qt Creator.

Ну и до кучи, комплект сборки для Android должен быть виден здесь

Выбор комлпекта сборки в Qt Creator

Скомпилировал Clang-ом, собрался арк, он заработал. Спасибо.

Значит, всё-таки Clang заработал. Какие-то косяки с настройкой у вас были для предыдущих версих Qt, получается. Ну хорошо, что заработало.

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг Timeweb
АС
26 мая 2020 г. 12:29
Артём Сун-Дун-Чан

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
МН
25 мая 2020 г. 12:33
Митя Нагибин

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
f
25 мая 2020 г. 6:05
falcon

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
28 мая 2020 г. 16:14
Евгений Легоцкой

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Ну в моём примере, который в статье сработало так model->setData(model->index(1, 1), 7); Поскольку model->index(1, 0) - это индекс колонки id, которая скрыта, поэтому…
МА
28 мая 2020 г. 16:08
Михаил А

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Спасибо, завтра првоерю. А model->setData(model->index(1, 0), 7); Тоже заработало?
28 мая 2020 г. 16:06
Евгений Легоцкой

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Да, метод data всё-таки влиял, я переписал его так и заработало удаление QVariant TableModel::data(const QModelIndex &idx, int role) const{ if (role == Qt::BackgroundColorRole) {…
28 мая 2020 г. 15:49
Евгений Легоцкой

Django - Урок 011. Добавление комментариев на сайт с Django

Он более функциональный и его функционал объективно лучше поддерживается Django. Из первого, что приходит на ум: Это наличие полей типа Array Поддержка полей для JSON …
28 мая 2020 г. 15:42
progammist

Django - Урок 011. Добавление комментариев на сайт с Django

а в чем явное преимущество postgresql над mysql?)
Сейчас обсуждают на форуме
RG
28 мая 2020 г. 19:21
Rovshan Gurbanov

Сборка под старые версии Android

У меня SDK почти все версии есть, NDK есть версии 10, 17, 21. Но собирается приложение только с NDK v21 под Android версии 7.0 и выше Версия Qt у меня 5.14.2
28 мая 2020 г. 8:58
Евгений Легоцкой

Освобождение памяти QMainWindow::setCentralWidget

Да, соглашусь. Просто удаление происходит позже, а не сразу.
28 мая 2020 г. 6:43
Михаиллл

При подключении к git как указать пароль?

Нужно сделать ssh-keygen и потом полученый из файла код скопировать в ssh ключ в бикбакете
F
28 мая 2020 г. 2:42
Fidan

QML

Да, проблема ушла, спасибо.
1 мая 2020 г. 9:19
Михаиллл

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB