Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
Jan. 4, 2019, 10:24 a.m.

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

Android, Qt

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

28

Добрый день.

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

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

1

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

0

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

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

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

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

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

0

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

0

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

Options -> Kits

0

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

0

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

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

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

0

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

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

0

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

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

0

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

0

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

0

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

0

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

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

0

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

0

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

0

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

0

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

0

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

0

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

*.apk

0

Такого файлв нет. Нашел только 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

0

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

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

0

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

0

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

0

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

0

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

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

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

0

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

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

0

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

1

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

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
v
Jan. 17, 2019, 11:51 a.m.
vitalir12

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:20points,
  • Rating points-10
v
Jan. 17, 2019, 11:49 a.m.
vitalir12

C++ - Test 002. Constants

  • Result:50points,
  • Rating points-4
v
Jan. 17, 2019, 11:13 a.m.
vitalir12

C++ - Тест 003. Условия и циклы

  • Result:28points,
  • Rating points-10
Last comments
I
Jan. 16, 2019, 8:06 a.m.
IscanderChe

Заработало. Забыл model->select(); вписать.
I
Jan. 16, 2019, 8:02 a.m.
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
Jan. 16, 2019, 7:51 a.m.
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
Jan. 16, 2019, 7:43 a.m.
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Now discuss on the forum
Jan. 17, 2019, 1:40 p.m.
Михаиллл

Спасибо, заработало.Учту с переменными.
Jan. 17, 2019, 12:01 p.m.
Алексей Внуков

у меня просто есть отдельное поле с чекбоксамими какие колонки нужно отображать CheckBox { id: checkBox text: qsTr("some text") checked: true onC...
Jan. 15, 2019, 4:53 p.m.
Михаиллл

Спасибо, заработало.Но выдало обычный текст без форатирования HTML.Придется искать дальше
Jan. 15, 2019, 12:52 p.m.
BlinCT

Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.
Join us in social networks

For registered users on the site there is a minimum amount of advertising