Ошибка Android Qt Creator "Платформа SDK установлена"
Я занимаюсь разработкой приложения для платформы Qt Cross для Android, недавно я обновил создатель Qt и установил новую версию Qt. я использую 'Qt Creator version 4.5.0'
, Я обновил до 'QT version 5.10'
, Эта настройка сделана в Ubuntu 16.04.
Пройдите по ссылке Начало работы с установкой QT.
Я всегда получаю сообщение об ошибке "В настройках Android есть ошибка" в Qt Creator-> Инструменты-> Параметры-> Устройства->Android.
Из-за вышеуказанной проблемы я не могу создать приложение для Android.
Я недавно обновил свой Android SDK, я могу собрать и запустить пример приложения из Android Studio, указывая, что установка SDK работает правильно. Я использую инструменты Android SDK 26.1.1. Пожалуйста, проверьте ниже снимки экрана.
Установленные инструменты сборки Android SDK.
Платформы Android SDk установлены
Все уже просматривают разные ссылки на Stack Overflow и форуме QT. Все предлагают понизить версию инструментов Android SDK (из-за известной ошибки QT), но ни одно из решений не работает для меня. Я знаю, что существует мало известных ошибок при создании приложений Android с QT 5.9 и Qt Creator версии 4.0. Я думаю, это решено, так как такая же настройка работает нормально на Windows 10.
QT Creator не перечисляет все доступные Android Build SDKs. Ошибка установки Android QT.
Пожалуйста, помогите, если кто-то здесь решил ту же проблему.
12 ответов
После многих усилий я смог решить эту проблему, благодаря Мохаммаду Канану, ответу Весафари, который заставил меня приблизиться к ответу. Фактическая проблема была решена с помощью следующих шагов. Может быть полезно, кто сталкивается с той же проблемой в 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
путь может отличаться в разных системах и ОС. Следующие ссылки будут полезны в этом случае.
Настройки переполнения стека Qt 1
Переполнение стека Qt Settings 2
Теперь я могу создавать и запускать приложения для Android.
Я только нашел этот багрепорт, где в комментариях можно найти
Собственный инструмент 'sdkmanager' не может обновлять пакеты на окнах, и он терпит неудачу с JDK 9, и эти проблемы также касаются Qt Creator.
Я только что попытался установить JDK 8 и изменить путь, и после повторного открытия меню настроек все заработало!
Проверка 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
командная строка, тогда, как только это будет сделано, вы должны найти Qt Creator снова счастливым.
У меня были те же симптомы, что и у ОП. В отличие от OP, я использовал Qt Creator 4.8.0, как это предусмотрено в репозиториях Ubuntu 19.10.
Симптомы
Соответствующая часть из списка самопроверки Qt Creator:
✓ SDK tools installed.
X Platform SDK installed.
Дополнительным признаком было то, что на вкладке "SDK Manager" ниже было следующее сообщение:
Диспетчер SDK недоступен в текущей версии инструментов SDK. Используйте собственный диспетчер SDK.
Причина и решение
Причиной этой проблемы была неправильная версия инструментов SDK. Эта неправильная версия распознается ("инструменты SDK установлены."), Но не может быть использована Qt Creator для определения установленного SDK платформы или для установки новых.
В моем случае я просто загрузил последнюю версию, предоставленную как commandlinetools-linux-*_latest.zip
на странице загрузки Android Studio. Эта версия внесла изменения, которые не имеют обратной совместимости с интерфейсом более ранних версий, которые ожидает Qt Creator. Этот новый пакет действительно совсем другой: у него другое имя (commandlinetools
vs. sdk-tools
), ожидает оказаться в другом месте и т. д.
Чтобы решить эту проблему, загрузите и установите "Android SDK Tools 26.1.1" (rev. 4333796) следующим образом, конечно, предоставив свой собственный каталог Android SDK:
cd /opt/android-sdk/
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip
Это устранило все описанные выше симптомы.
Спасибо, у меня была такая же проблема, используя Debian Buster (sid) с QtCreator 4.6.2 с Qt5.10.1
Перейдите в ~/.config и сотрите все настройки qtcreator, затем начните снова, указав jdk.8, затем пути к Android SDK и затем NDK.
Это тогда работает, и тупая платформа SDK не установлена, ошибка не происходит.:)
Из интереса я попытался стереть все ~/.config/qtcreator* и затем указать jdk10. Не работает как раньше.
Если вы затем переключитесь на jdk8, он все равно не будет работать. Вы должны закрыть QtCreator, стереть все конфиги, открыть заново и снова выбрать его, на котором он будет работать.
Linux:
Предлагаемые решения не работают для меня.
У меня уже была Java 8 и с установленным Qt 5.12 последний SDK и NDK должны работать (должны работать с Qt 5.9).
После нескольких часов возни, переустановки Qt и Java, удаления конфигов, загрузки старых NDK и всего остального, он все равно не работал.
Моя ошибка заключалась в том, что я распаковал SDK и NDK от имени пользователя root в папку, доступную только для чтения. После chown
папка была передана моему обычному пользователю, Creator все нашел и работал как положено.
Также проверьте, принадлежит ли пользователь, использующий Qt Creator, папку, содержащую SDK и NDK. Это быстрая проверка, которая может помешать вам удалить ваши конфиги.:)
В моем случае у меня были установлены красные кресты для инструментов SDK. и дляустановленного Platform SDK.
Чтобы решить эту проблему, мне нужно было загрузить инструменты SDK для Android с https://androidsdkoffline.blogspot.com/p/android-sdk-tools.html
файл был tools_r25.2.5-linux.zip
Я поместил извлеченную папку с инструментами в папку sdk. Моя установка теперь работает только с open-jdk-8. Теперь я могу развертывать qml-приложения на моем S10.
Вам не нужно стирать конфиги для qt. просто установите последнюю версию jdk 8 отсюда -> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
затем выберите расположение jdk в настройках и затем внизу выберите вкладку sdk manager. Нажмите кнопку "Установить обновление", и она должна отобразить окно со списком лицензий, с которыми необходимо согласиться.
Проблема заключается в jdk 9 и выше. По какой-то странной причине он не показывает лицензионные соглашения и не продолжается после этого. Исправление залипает с jdk8
Хорошо, после многих часов испытаний я наконец узнал, как мы можем это исправить.
- Загрузите и используйте Android NDK r10e отдельно (не устанавливайте его через SDK Manager)
- Скачайте и используйте Android SDK без Android Studio (загрузите инструменты Android с официального сайта) Qt Preferences установит все необходимые пакеты (инструменты сборки, инструменты платформы, инструменты SDK, платформа Android-28)
- Установите и используйте Java JDK 8 (не новее)
Обратите внимание, что установка пакетов SDK через Android Studio не будет обнаруживаться Qt
В моем случае я загружаю отдельный инструмент загрузки SDK, android-sdk_r24.4.1-windows, и снова устанавливаю SDK. Инструменты платформы Android SDK являются частью Android SDK Manager. и я решил проблему.
Чтобы добавить к принятому ответу о необходимости JDK 8 - если у вас уже работает более новая версия Java, вы можете легко установить вместе с ней автономную версию 8. Воспользуйтесь установщиком с https://adoptopenjdk.net/ и выберите v8.0. Обязательно обновите свои настройки, чтобы указать на Java 8, и все должно работать.