Ошибка Qt Creator Android "Установлена платформа SDK"
Я разрабатываю приложение для платформы Qt Cross для Android, недавно я обновил Qt-создатель и установил новую версию Qt. Я использую 'Qt Creator version 4.5.0'
. Я обновился до 'QT version 5.10'
. Эта настройка выполняется на Ubuntu 16.04.
Следующая ссылка Начало работы с установкой QT.
Я всегда получаю сообщение об ошибке "Настройки Android имеют ошибку" в Qt Creator- > Tools- > Options- > Devices- > Android.
![QT Android Installation Issue]()
Из-за вышеизложенного я не могу создать приложение для Android.
Недавно я обновил свой Android-sdk, я могу создать и запустить приложение Sample из Android Studio, указав, что инсталляция SDK работает правильно. Я использую инструменты Android SDK 26.1.1. Пожалуйста, проверьте снизу снимки экрана.
![Android Studio SDK manager]()
Установлены инструменты сборки Android SDK.
![введите описание изображения здесь]()
Установлены платформы Android SDk
![введите описание изображения здесь]()
Уже прошли разные ссылки на Qaru и QT forum. Все предлагают понизить инструменты Android SDK (из-за известной ошибки QT), но ни одно из решений для меня не работает. Я знаю, что есть несколько известных ошибок, создающих приложение для Android с QT 5.9 и Qt Creator версии 4.0. Я предполагаю, что он разрешен, так же, как и в Windows 10, работает нормально.
QT Creator не будет отображать список доступных SDK для Android Build
Ошибка установки QT Android
Пожалуйста, помогите, если кто-то здесь разрешил такую же проблему.
Ответы
Ответ 1
После долгих усилий я смог решить эту проблему, благодаря Мохаммаду Канану, отвечающему за Весафари, который заставил меня приблизиться к ответу. Фактическая проблема была решена с помощью следующих шагов. Может быть полезно, кто сталкивается с той же проблемой в Ubuntu или может работать на других платформах.
- Первый шаг (как подсказывает большинство ответов) изменен с JDK 9 на JDK 8. Я использую версию Java "1.8.0_152".
- Шаг 1 мне не помог (создатель Qt сохранил некоторые настройки), поэтому я удалил полную установку Qt 5.8,5.9,5.10 (с помощью инструмента Qt Maintainace) и следующие 2 ссылки: Удалить Qt Полностью, Удалить Qt Creator.
и сделал установку снова. Может быть, ваша проблема будет решена на этом этапе.
-
Шаг 2 также не помог в моем случае, QT Creator все еще сохраняет некоторые настройки и должен сбросить настройки Qt Creator. Это можно сделать, удалив данные в этой папке
~/.config/QtProject ~/.config/Qt file ~/.config/QtProject.conf
путь может отличаться в разных системах и ОС. Следующие ссылки будут полезны в этом случае.
Creator FAQ
Настройки Qt 1
Переполнение стека Qt Settings 2
Теперь я могу создавать и запускать приложения для Android.
Ответ 2
Я только что нашел этот bugreport, где в комментариях можно найти
Средство "sdkmanager" на родном языке не может обновлять пакеты на окнах, и это не удается с JDK 9, и эти проблемы также каскадируются в Qt Creator.
Я просто попытался установить JDK 8 и изменить путь, а после повторного открытия меню настроек он сработает!
Ответ 3
Я использую окно ответа, чтобы показать вам, как это работает для меня, последний комментарий: я не устанавливаю NDK 16.. попробуйте удалить его из Android-менеджера; в то время как (для Qt) устанавливают отдельно NDK 10e (это уже была рекомендация Qt).
![введите описание изображения здесь]()
И сторона конфигурации Qt:
![введите описание изображения здесь]()
![введите описание изображения здесь]()
Ответ 4
Спасибо, у меня была такая же проблема, используя Debian Buster (sid) с QtCreator 4.6.2 с Qt5.10.1
Зайдите в ~/.config и сотрите все настройки qtcreator, затем начните снова, указав jdk.8, затем пути к Android SDK и затем NDK.
Это тогда работает, и тупая платформа SDK не установлена, ошибка не происходит. :)
Из интереса я попытался стереть все ~/.config/qtcreator * и затем указать jdk10. Не работает как раньше.
Если вы затем переключитесь на jdk8, он все равно не будет работать. Вы должны закрыть QtCreator, стереть все конфиги, открыть заново и снова выбрать его, на котором он будет работать.
Ответ 5
вам не нужно стирать конфиги для qt. просто установите последнюю версию jdk 8 отсюда → http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
затем выберите расположение jdk в настройках и затем внизу выберите вкладку sdk manager. Нажмите кнопку "Установить обновление", и она должна отобразить окно со списком лицензий, с которыми необходимо согласиться.
Проблема заключается в jdk 9 и выше. По какой-то странной причине он не показывает лицензионные соглашения и не продолжается после этого. Исправление залипает с jdk8
Ответ 6
Платформа SDK проверки, кажется, использует командную строку sdkmanager
для просмотра списка доступных установленных пакетов. Это $ANDROID_SDK_ROOT/tools/bin/sdkmanager
. В моей системе Linux это было в $HOME/Android/Sdk/tools/bin/sdkmanager
.
Запустите командную строку напрямую, и если вы видите ошибки (обычно ошибки Java), вам нужно сначала их исправить. Как и у людей, типичная проблема:
- Java 8 в порядке, но JDK 9 и JDK 10 не работают с sdkmanager
Даже если вы исправили это для JDK 9/10, у вас могут возникнуть проблемы с компиляцией, поэтому лучше всего перейти на Java 8
. sdkmanager
все оставшиеся проблемы с командной строкой sdkmanager
, а затем, как только это будет сделано, вы обнаружите, что Qt Creator снова счастлив.
Ответ 7
Хорошо, после многих многочасовых испытаний я наконец узнаю, как мы можем это исправить.
- Загрузите и используйте Android NDK r10e отдельно (не устанавливайте его через SDK Manager)
- Скачайте и используйте Android SDK без Android Studio (загрузите инструменты Android с официального сайта) Qt Preferences установит все необходимые пакеты (инструменты сборки, инструменты платформы, инструменты SDK, платформа Android-28)
- Установите и используйте Java JDK 8 (не новее)
Обратите внимание, что установка пакетов SDK через Android Studio не будет обнаруживаться Qt
Ответ 8
Linux:
Предлагаемые решения не работают для меня.
У меня уже была Java 8 и с установленным Qt 5.12 последний SDK и NDK должны работать (должны работать с Qt 5.9).
После нескольких часов возни, переустановки Qt и Java, удаления конфигов, загрузки старых NDK и всего остального, он все равно не работал.
Моя ошибка заключалась в том, что я распаковал SDK и NDK от имени пользователя root в папку, доступную только для чтения. После chown
папки для моего обычного пользователя, Creator все нашел и работал как положено.
Так что также проверьте, владеет ли пользователь, использующий Qt Creator, папка, содержащая SDK и NDK. Это быстрая проверка, которая может помешать вам удалить ваши конфиги. :)