Qt Creator Android 错误 "Platform SDK installed"

Qt Creator Android error "Platform SDK installed"

我正在为 Android 开发 Qt 跨平台应用程序,最近我更新了 Qt creator 并安装了新的 Qt 版本。我正在使用 'Qt Creator version 4.5.0'。我已经更新到 'QT version 5.10'。此设置是在 Ubuntu 16.04 上完成的。

已关注 link Getting Started with QT Installation

我总是在 Qt Creator->Tools->Options->Devices->Android.[=21= 中收到错误消息 "Android Settings have error" ]

由于上述问题,我无法为 Android 构建应用程序。

我最近更新了我的 Android sdk,我能够从 Android Studio 构建和 运行 示例应用程序,表明 SDK 安装工作正常。我正在使用 Android SDK 工具 26.1.1。请查看下面的屏幕截图。

Android 已安装 SDK 构建工具。

Android 已安装 SDK 平台

已经在 Stack Overflow 和 QT 论坛上经历了不同的 links,都建议降级 Android SDK 工具(由于 QT 已知错误),但是 none解决方案对我有用。我知道在使用 QT 5.9 和 Qt Creator 4.0 版构建 Android 应用程序时存在一些已知错误。我想它已经解决了,因为相同的设置在 Windows 10.

上工作正常

如果这里有人解决了同样的问题,请帮忙。

我刚刚找到这个bugreport,在评论中可以找到

The native 'sdkmanager' tool can not update packages on windows and it fails with JDK 9 and these issues cascades to Qt Creator also.

我刚刚尝试安装 JDK 8 并更改路径,在重新打开设置菜单后它成功了!

我正在使用答案框向您展示它是如何为我工作的,最后一条评论:我没有安装 NDK 16 ..尝试从 Android 管理器中删除它;同时(对于 Qt)单独安装 NDK 10e(这已经是 Qt 的推荐)。

以及Qt配置端:

经过大量努力,我能够解决这个问题,感谢 Mohammad Kanan,Vesafary 的回答让我更接近答案,实际问题已通过以下步骤解决。对于在 Ubuntu 中遇到相同问题或者也可能在其他平台上工作的人可能会有所帮助。

  1. 第一步(正如大多数答案所建议的那样)从 JDK 9 更改为 JDK 8。我使用的是 Java 版本 "1.8。0_152".
  2. 第 1 步对我没有帮助(Qt creator Persist some Settings),所以我删除了完整的 Qt 5.8、5.9、5.10 安装(使用 Qt Maintainace 工具)和以下 2链接 Uninstall Qt Completely, Uninstall Qt Creator.

并再次安装。可能您的问题在这一步得到解决。

  1. 第 2 步对我的情况也没有帮助,QT Creator 仍然保留一些设置并且需要重置 Qt creator 设置。这可以通过删除此文件夹中的数据来完成

    ~/.config/QtProject ~/.config/Qt 文件~/.config/QtProject.conf

路径在不同的系统和OS中可能不同。在这种情况下,以下链接会有所帮助。

Creator FAQ

Stack Overflow Qt Settings 1

Stack Overflow Qt Settings 2

现在我可以构建 运行 android 应用程序了。

谢谢 我遇到了同样的问题,将 Debian Buster (sid) 与 QtCreator 4.6.2 和 Qt5.10.1

一起使用

进入 ~/.config 并擦除所有 qtcreator 设置,然后重新开始指定 jdk.8 然后是 Android SDK 的路径,然后是 NDK。

然后它就可以工作了,并且不会发生愚蠢的 未安装 SDK 平台错误。 :)

出于兴趣,我尝试擦除所有内容 ~/.config/qtcreator*,然后指定 jdk10。不像以前那样工作。

如果再改成jdk8,还是不行。 您必须关闭 QtCreator,擦除所有配置,重新打开并再次选择它,然后才能正常工作。

您不需要擦除 qt 的配置。只需从这里安装最新的 jdk 8 -> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下一步 select 选项中的 jdk 位置,然后朝向底部 select sdk 管理器选项卡。单击已安装的更新按钮,它应该会显示一个 window,其中包含您需要同意的许可证列表。

问题在于 jdk 9 及更高版本。出于某种奇怪的原因,它没有显示许可协议,也没有超出该点。修复坚持 jdk8

"Platform SDK installed" 需要一个有效的 sdkmanager 命令。

如果您安装了 Platform SDK,请直接尝试 运行 sdkmanager 命令。

这是$ANDROID_SDK_ROOT/tools/bin/sdkmanager。在我的 Linux 系统上,这是在 $HOME/Android/Sdk/tools/bin/sdkmanager.

典型的问题是

  • 您需要正确安装JDK 8(注意JDK 9、JDK 10和JDK 11将不起作用!)

如果您安装了较新的 JDK,则需要降级到 JDK 8。OpenJDK 或 Oracle 都可以,但需要 JDK 8.

使用 sdkmanager 命令行解决任何遗留问题,然后,一旦完成,您应该会发现 Qt Creator 会再次开心。

参考文献:

好的,经过许多小时的试用,我终于找到了解决方法。

  • 单独下载使用AndroidNDK r10e(不要通过SDK Manager安装)
  • 下载并使用 Android SDK without Android Studio(从官方网站下载 android 工具)Qt Preferences 将安装所有需要的包(构建工具、平台工具、sdk 工具、平台 android-28)
  • 安装并使用 Java JDK 8(不是更新的)

请注意通过AndroidStudio安装SDK包不会被Qt检测到

Linux:

建议的解决方案对我不起作用。

我已经安装了 Java 8 并且安装了 Qt 5.12,最新的 SDK 和 NDK 应该可以工作(应该从 Qt 5.9 开始工作)。

经过几个小时的摆弄、重新安装 Qt 和 Java、删除配置、下载旧的 NDK 等等,它仍然没有工作。

我的错误是我将 SDK 和 NDK 以 root 身份解压到用户的只读位置。 chown将文件夹发送给我的普通用户后,Creator 找到了所有内容并按预期工作。

所以还要检查,如果用户 运行 Qt Creator 拥有包含 SDK 和 NDK 的文件夹。这是一项快速检查,可能会阻止您删除配置。 :)

编辑:2019年8月,我给Qt Creator打了一个补丁,检查了这个特殊情况并相应地报告了错误。 https://code.qt.io/cgit/qt-creator/qt-creator.git/commit/?id=4ca3bd4d0f336f7055080e78849c0607ba99843c

要添加需要 JDK 8 的已接受答案 - 如果您已经有 Java 运行 的较新版本,您可以轻松地同时安装独立版本 8 .使用 https://adoptopenjdk.net/ 和 select v8.0 中的安装程序。确保更新您的首选项以指向 Java 8 并且一切正常。

在我的例子中,我有红叉 已安装 SDK 工具。 并为 已安装平台 SDK。

要解决它,我需要从 https://androidsdkoffline.blogspot.com/p/android-sdk-tools.html

下载 android sdk 工具

文件是 tools_r25.2.5-linux.zip

我将提取的工具文件夹放在 sdk 文件夹中。 我的设置现在仅适用于 open-jdk-8 现在我可以在我的 S10

上部署 qml 应用程序

我只是有与 OP 完全相同的症状。与 OP 不同的是,我使用的是 Ubuntu 19.10 存储库中提供的 Qt Creator 4.8.0。

症状

Qt Creator自检表中相关部分为:

✓  SDK tools installed.
X  Platform SDK installed.

另一个症状是下面的 "SDK Manager" 选项卡有这条消息:

SDK manager is not available with the current version of SDK tools. Use Native SDK Manager.

原因和修复

此问题的原因是 SDK 工具版本错误。该错误版本已被识别 ("SDK tools installed."),但 Qt Creator 无法使用它来检测安装了哪个平台 SDK 或安装新版本。

就我而言,我只是下载了最新版本,在 Android Studio download page. That version introduced changes that are not backwards compatible with the interface of earlier versions that Qt Creator is expecting. That new package is indeed quite different: it has a different name (commandlinetools vs. sdk-tools), commandlinetools-linux-*_latest.zip 上提供。

要解决此问题,请按如下方式下载并安装 "Android SDK Tools 26.1.1"(修订版 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

这解决了上述所有症状。

在我的例子中,我下载了单独的SDK下载工具,android-sdk_r24.4.1-windows,然后重新安装了SDK。 Android SDK 平台工具是 Android SDK 的一部分 Manager.and 我解决了这个问题。