25 сентября 2018 г. 13:10

Настройка Qt Creator для Android

Android, Qt Creator

Добрый день!


Установил Qt Creator, Android Studio и JDK 8 в Windows 7 64 bit.

В Qt Creator все добавил (видно на скриншоте).

Только понять не могу, что сделал не так - нет компиляторов для Android.

Как можно это исправить? В Linux все становится и работает без проблем.

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

Добрый день!

Если честно, то Вы уже второй человек с такой же проблемой. Вот здесь таже самая проблема

Мне нужно самому проверить будет, как там проходит установка.

К сожалению, у меня сейчас не интернета дома до конца недели. Как появится, попробую повторить установку и разобраться в проблеме.

Если будут новости с положительным решением, отпишитесь, пожалуйста.


0
  • 25 сентября 2018 г. 13:39

Конечно отпишусь.

0
H

Прошу Вас помочь. У меня такая же проблема, Qt версии 5.11.2 Самая последняя, устанавливал через онлайн установщик. Пробовал ставить и более ранние. Ничего не помогает. NDK такой же версии , как у Вас на скриншоте.

0
  • 9 октября 2018 г. 6:18

Решения я не нашел. Под веник ничего не помогает, под Linux - работает без проблем.

0
H

У меня комплекты создались! Что я сделал: скачал android-ndk-r16b с архивного сайта и версия 16 определила все компиляторы. Но теперь проект. который у меня собирается на другой машине,

выдает  ошибку:


Android build platform: android-16

Install to device: No

-- Skipping D:/Qt/5.11.2/android_armv7/plugins/iconengines/libqsvgicon.so. It has unmet dependencies: lib/libQt5Svg.so.

-- Skipping D:/Qt/5.11.2/android_armv7/plugins/imageformats/libqsvg.so. It has unmet dependencies: lib/libQt5Svg.so.

Downloading http://services.gradle.org/distributions/gradle-1.12-all.zip


Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostException: services.gradle.org

at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)

at org.gradle.wrapper.Install.createDist(Install.java:47)

at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)

at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)

Caused by: java.net.UnknownHostException: services.gradle.org

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at java.net.Socket.connect(Socket.java:538)

at sun.net.NetworkClient.doConnect(NetworkClient.java:180)

at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)

at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)

at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)

at sun.net.www.http.HttpClient.New(HttpClient.java:339)

at sun.net.www.http.HttpClient.New(HttpClient.java:357)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)

at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)

at org.gradle.wrapper.Download.downloadInternal(Download.java:59)

at org.gradle.wrapper.Download.download(Download.java:45)

at org.gradle.wrapper.Install$1.call(Install.java:60)

at org.gradle.wrapper.Install$1.call(Install.java:47)

at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)

... 3 more

Building the android package failed!

-- For more information, run this command with --verbose.

16:56:38: Процесс «D:\Qt\5.11.2\android_armv7\bin\androiddeployqt.exe» завершился с кодом 14.

Ошибка при сборке/установке проекта AndroidClient (комплект: Android для armeabi-v7a (GCC 4.9, Qt Qt 5.11.2 for Android ARMv7))

Во время выполнения этапа «Сборка Android APK»

16:56:38: Прошло времени: 00:22.


0
  • 9 октября 2018 г. 14:00

Ссылку можно на android-ndk-r16b с архивного сайта?

0

Спасибо, попробую поставить отпишусь.

0
  • 9 октября 2018 г. 14:25

Поставил  android-ndk-r16b - все заработало. Огромное спасибо!!!

0
H
  • 9 октября 2018 г. 18:55
  • (ред.)

У меня тоже уже все заработало. На работе проксик, через него QtCreator не качает. Зачем то ему нужно что-то устанавливать во время первой компиляции под андроид.

gradle

0
  • 10 октября 2018 г. 9:07
  • (ред.)

Что-то не могу понять - комплекты в порядке, все опознается, компилятор есть, Genymotion работает, только при попытке компиляции любого проекта получаю:


Не удалось обнаружить этап сборки под android.
12:05:09: Выполняются этапы для проекта untitled...
12:05:09: Запускается: «C:\Qt\5.11.1\android_x86\bin\qmake.exe» C:\Users\admin\Desktop\untitled\untitled.pro -spec android-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
Info: creating stash file C:\Users\admin\Desktop\untitled\bin\Android\Debug\.qmake.stash
12:05:11: Процесс «C:\Qt\5.11.1\android_x86\bin\qmake.exe» завершился успешно.
12:05:11: Запускается: «C:\Users\admin\AppData\Local\Android\android-ndk-r16b\prebuilt\windows-x86_64\bin\make.exe» qmake_all
make: Nothing to be done for `qmake_all'.
12:05:12: Процесс «C:\Users\admin\AppData\Local\Android\android-ndk-r16b\prebuilt\windows-x86_64\bin\make.exe» завершился успешно.
12:05:12: Запускается: «C:\Users\admin\AppData\Local\Android\android-ndk-r16b\prebuilt\windows-x86_64\bin\make.exe» 
C:\Users\admin\AppData\Local\Android\android-ndk-r16b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ -c -D__ANDROID_API__=16 --sysroot=C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sysroot -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sysroot/usr/include/i686-linux-android -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -fstack-protector-strong -DANDROID -g -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..\..\..\..\untitled -I. -IC:\Qt\5.11.1\android_x86\include -IC:\Qt\5.11.1\android_x86\include\QtQuick -IC:\Qt\5.11.1\android_x86\include\QtGui -IC:\Qt\5.11.1\android_x86\include\QtQml -IC:\Qt\5.11.1\android_x86\include\QtNetwork -IC:\Qt\5.11.1\android_x86\include\QtCore -I. -IC:\Qt\5.11.1\android_x86\mkspecs\android-g++ -o main.obj ..\..\..\main.cpp
C:\Qt\5.11.1\android_x86\bin\rcc.exe -name qml ..\..\..\qml.qrc -o qrc_qml.cpp
C:\Users\admin\AppData\Local\Android\android-ndk-r16b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ -c -D__ANDROID_API__=16 --sysroot=C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sysroot -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sysroot/usr/include/i686-linux-android -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem C:\Users\admin\AppData\Local\Android\android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -fstack-protector-strong -DANDROID -g -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..\..\..\..\untitled -I. -IC:\Qt\5.11.1\android_x86\include -IC:\Qt\5.11.1\android_x86\include\QtQuick -IC:\Qt\5.11.1\android_x86\include\QtGui -IC:\Qt\5.11.1\android_x86\include\QtQml -IC:\Qt\5.11.1\android_x86\include\QtNetwork -IC:\Qt\5.11.1\android_x86\include\QtCore -I. -IC:\Qt\5.11.1\android_x86\mkspecs\android-g++ -o qrc_qml.obj qrc_qml.cpp
C:\Users\admin\AppData\Local\Android\android-ndk-r16b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ --sysroot=C:\Users\admin\AppData\Local\Android\android-ndk-r16b/platforms/android-16/arch-x86/ -Wl,-soname,libuntitled.so -Wl,-rpath=C:/Qt/5.11.1/android_x86/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libuntitled.so main.obj qrc_qml.obj   -LC:\Users\admin\AppData\Local\Android\android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86 -Lc:/users/admin/appdata/local/android/android-ndk-r16b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/i686-linux-android/4.9.x -LC:/Qt/5.11.1/android_x86/lib -lQt5Quick -Lc:\utils\android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86 -Lc:/utils/android-ndk-r10e/toolchains/x86-4.9/prebuilt/windows/bin/../lib/gcc/i686-linux-android/4.9 -LC:\Qt\5.11.1\android_x86/lib -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -lgnustl_shared -lgcc -llog -lz -lm -ldl -lc
12:05:16: Процесс «C:\Users\admin\AppData\Local\Android\android-ndk-r16b\prebuilt\windows-x86_64\bin\make.exe» завершился успешно.
Не удалось обнаружить имя пакета.
12:05:16: Загрузка файлов, необходимых для отладки.
12:05:16: Установка пакета: Выполнение команды «C:/Users/admin/AppData/Local/Android/Sdk/platform-tools/adb.exe -s 169.254.241.101:5555 pull /system/bin/app_process C:/Users/admin/Desktop/untitled/bin/Android/Debug/app_process».
12:05:16: Установка пакета: Выполнение команды «C:/Users/admin/AppData/Local/Android/Sdk/platform-tools/adb.exe -s 169.254.241.101:5555 pull /system/bin/app_process32 C:/Users/admin/Desktop/untitled/bin/Android/Debug/app_process».
12:05:16: Установка пакета: Выполнение команды «C:/Users/admin/AppData/Local/Android/Sdk/platform-tools/adb.exe -s 169.254.241.101:5555 pull /system/bin/linker C:/Users/admin/Desktop/untitled/bin/Android/Debug/linker».
12:05:16: Установка пакета: Выполнение команды «C:/Users/admin/AppData/Local/Android/Sdk/platform-tools/adb.exe -s 169.254.241.101:5555 pull /system/lib/libc.so C:/Users/admin/Desktop/untitled/bin/Android/Debug/libc.so».
Ошибка при сборке/установке проекта untitled (комплект: Android для x86 (GCC 4.9, Qt Qt 5.11.1 for Android x86))
Во время выполнения этапа «Установка на устройство Android»
12:05:17: Прошло времени: 00:07.


Это даже при сборке проекта по умолчанию:


import QtQuick 2.11
import QtQuick.Window 2.11

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
}


Что ему может не нравится?



0

А Genymotion вообще у вас с Qt хоть раз заводился?

Я что-то колупал его, но получалось только с Android Studio заставить его работать. Поэтому у меня такое подозрение, что для разработки на NDK он не подходит.

Поэтому только на живом девайсе обычно тестировал.

0
  • 10 октября 2018 г. 9:42

Конечно и очень даже хорошо. На Debian Linux с Qt работает прекрасно и на старой Windows 7 тоже работал (не так давно пришлось переставить - жила 3 года).

0

Наверное с последних моих попыток запуска они допилили поддержку NDK, это приятно слышать.

0
  • 10 октября 2018 г. 9:46
  • (ред.)

Я Genymotion  ставил с VBox в комплекте для личного использования, после добавил из списка телефон с нужным API. Запустил его и при компиляции Qt Creator сам нашел его и все запустилось.

Теперь почему-то даже компилировать не хочет (на Windows).

0

Здравствуйте. У меня установлены SDK, NDK. Но для компилятора не хватает arm-linux-android-elf-64bit, 86-linux-android-elf-64bit .

Скажите пожалуйста как это исправить?

0

Через maintenance tool всё установили у Qt?

0

Не знаю. У меня интерфейс русский. Скажите пожалуйста что такое  maintenance tool ?



0

Утилита для установки компонентов Qt, находится в каталоге, куда устанавливали сам Qt. MaintenanceTool.exe

Запускаете, выбираете добавить компоненты и устанавливаете то, что требуется для работы с Android.
0

Видимо все установлено. Может это в SDK должно быть?

0

Это не то, покажите, пожалуйста ту часть, где Qt 5.11 или какая там у вас версия.

И используйте пожалуйста иконку загрузки изображений в редакторе комментариев. Тогда изображение будет вставляться сразу в комментарий ))

0

Вот этот скрин нужен?

0

Раскройте Qt 5.11.0 пункт

0

все галочки включены.

0

Говорят, что это может быть из за поздней версии SDK, говорят ранние версии лучше. Вы не знаете, где можно скачать SDK ANdroid 25  и более ранний?

0

Вот в этом ответе есть ссылка на страницу, где можно скачать более ранние версии SDK и NDK

0
  • 21 октября 2018 г. 16:08

Качну и я под форточку старый СДК, а вдруг поможет.

0

Но ведь по этой ссылке https://developer.android.com/ndk/downloads/older_releases только NDK, а нужен старый SDK.


0
  • 22 октября 2018 г. 10:01

Старый СДК вот .

Только не мучайтесь, все равно не сработало, ставил СДК 24.

0
  • 22 октября 2018 г. 10:03

Подскажите как проект на Qt собрать и запустить с Android Studio.

0

Оу, перепутал слегка. Вообще, все SDK должны ставиться через SDK Manager. Он есть в Android Studio например, и при установке SDK должен также ставиться, если не ошибаюсь.

0

В смысле? Запустить проект Qt под Android Studio? как самостоятельный проект вряд ли. Android Studio же для Java, максимум как дополнительную библиотеку, но там свои танцы с бубнами, которые я не танцевал. Даже не знаю, к счастью ли или нет...

0
  • 22 октября 2018 г. 10:15

Понятно. Это была мысль на случай вдруг возможно как-то это осуществить.

Это от того, что ничего из испробованного мною не работает. Я уже даже и не знаю как можно заставить Qt Creator скомпилировать проект под Android.

0

Это больше похоже на баг, с пол года назад не собиралось под линуксом, тоже что-то из похожего разряда было, не виделись SDK.

Потом исправили, бред конечно, ждать пока соизволят. Но как-то других мыслей пока нет. Либо работать из под линукса, если вам это не мешает.

0
  • 22 октября 2018 г. 10:29

Да оно то не особо и мешает. Писать программы и смотреть как будет выглядеть и работать можно по большей части скомпилировав под Desktop в Win7, а в Linux уже собирать для Android.

Есть мысль еще попробовать с clang для android, может заведется.

0
  • 22 октября 2018 г. 11:50

Похоже осталось только ждать пока исправят баг.

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
25 мая 2019 г. 16:20
Андрей Янкович

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

  • Результат:93баллов,
  • Очки рейтинга8
m
19 мая 2019 г. 1:49
mahhaki

Qt - Тест 001. Сигналы и слоты

  • Результат:78баллов,
  • Очки рейтинга2
S
17 мая 2019 г. 13:14
SunBro

Qt - Тест 001. Сигналы и слоты

  • Результат:42баллов,
  • Очки рейтинга-8
Последние комментарии
21 мая 2019 г. 20:10
Дмитрий

Приветствую! Я думаю дойдёт и до этого, но пока изучать его у меня нет желания.
20 мая 2019 г. 19:20
Евгений Легоцкой

Добрый день! Вы не думали разместить репозиторий проекта на GitHub?
P.
18 мая 2019 г. 14:03
PELMYACH .

Спасибо большое! Вскоре буду разбираться!
18 мая 2019 г. 9:13
Евгений Легоцкой

Добрый день! Отнимать значение общего счётчика можно в деструкторе класса кнопки QDynamicButton::~QDynamicButton(){ ResID--;} При этом я бы ещё переустанавливал значения вс...
P.
14 мая 2019 г. 22:33
PELMYACH .

Здравствуйте!А не подскажите, как можно при удалении какой либо кнопки, у щётчика отнять значение?Дабы например четвёртой кнопке соответствовал ID 4, а не 5 скажем
Сейчас обсуждают на форуме
24 мая 2019 г. 6:48
Евгений Легоцкой

Если там будут только перечисления внутри namespace, то жа, достаточно будет заголовочного файла
24 мая 2019 г. 6:28
Андрей Янкович

работает любой http сервер, и можно использовать обсалютно любой портпример <RemoteRepositories> <Repository> <Url>http://178.124.160.6:3030/A/B&l...;
23 мая 2019 г. 14:40
Михаиллл

Попробовал сделать этот запрос по http и получил json файл. request.setUrl(QUrl("https://jsonplaceholder.typicode.com/todos/1")); Как Вы думаете, почему https не работает и как это и...
23 мая 2019 г. 10:42
Михаиллл

Спасибо, помогло.
23 мая 2019 г. 6:31
Евгений Легоцкой

Для задач и граф-то не нужен. Достаточно будет таблицы в локальной базе данных SQLite, в которой указывается задача, время и т.д. В этом разделе есть примеры по работа с базой д...

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB