【问题标题】:Qt Creator Android error "Platform SDK installed"Qt Creator Android 错误“已安装平台 SDK”
【发布时间】:2018-06-19 17:34:55
【问题描述】:

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

关注链接Getting Started with QT Installation

我总是在 Qt Creator->Tools->Options->Devices->Android 中收到错误消息 “Android 设置有错误”

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

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

已安装 Android SDK 构建工具。

已安装 Android SDK 平台

已经通过 Stack Overflow 和 QT 论坛上的不同链接,都建议降级 Android SDK 工具(由于 QT 已知错误),但没有一个解决方案对我有用。我知道使用 QT 5.9 和 Qt Creator 4.0 版构建 Android 应用程序的已知错误很少。我想它已解决,因为相同的设置在 Windows 10 上运行良好。

QT Creator wont list any available Android Build SDKs QT Android Installation error

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

【问题讨论】:

  • 在“SDK 平台”下的 Android SDK 管理器中,您是否安装了 API 级别 25?好像不行,先安装试试。正如您所展示的,“Android SDK 平台工具”是 27 而不是 26。
  • @MohammadKanan 感谢您的帮助,是的,“API 级别 25”已安装,请查看更新的屏幕截图以获取更多信息。我仍然遇到上述问题。

标签: android c++ qt android-sdk-tools qt5.10


【解决方案1】:

我刚刚找到了这个bugreport,在 cmets 中可以找到

原生 'sdkmanager' 工具无法更新 Windows 上的包,并且在 JDK 9 中失败,这些问题也会级联到 Qt Creator。

我刚刚尝试安装 JDK 8 并更改路径,重新打开设置菜单后它已经工作了!

【讨论】:

  • 我在使用 Qt 5.9 和 Creator 4.4 时遇到了类似的问题。安装 JDK 8 解决了这些问题。
  • 有没有什么办法可以用pyqt代替qt来开发android应用程序?我听说过pyside,但无法与android链接
  • @NimishBansal 我要让其他人回答这个问题,我对 pyqt 没有任何经验。
  • 遇到了完全相同的问题,这个解决方案很有效。谢谢!
  • 为我工作的 Qt Creator 4.7.1
【解决方案2】:

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

和Qt配置方面:

【讨论】:

    【解决方案3】:

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

    1. 第一步(正如大多数答案所暗示的那样)从 JDK 9 更改为 JDK 8。我使用的是 Java 版本 "1.8.0_152"
    2. 第 1 步对我没有帮助(Qt 创建者坚持一些设置),所以我删除了完整的 Qt 5.8、5.9、5.10 安装(使用 Qt Maintainace 工具)并遵循 2 个链接 Uninstall Qt CompletelyUninstall Qt Creator

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

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

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

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

    Creator FAQ

    Stack Overflow Qt Settings 1

    Stack Overflow Qt Settings 2

    现在我可以构建和运行安卓应用了。

    【讨论】:

    • 在我们的 SDK 文件夹中有一个二进制文件:Sdk/tools/bin/sdkmanager。这似乎不适用于 java 9 或更高版本,qtcreator 使用它来检测平台 sdk。由于写的草率,它不区分没有安装sdk和sdkmanager坏了。
    • 那么,对于必须使用给定版本的 QtCreator 和 JDK 的人来说,可能没有解决方案?有同样的问题,但没有切换出来的选项。
    【解决方案4】:

    “已安装平台 SDK”需要一个有效的 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 再次感到高兴。

    参考资料:

    【讨论】:

      【解决方案5】:

      谢谢 我有同样的问题,使用 Debian Buster (sid) 和 QtCreator 4.6.2 和 Qt5.10.1

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

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

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

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

      【讨论】:

      • 在 2019 年 2 月的 ubuntu 18 上,我不得不将 JDK /usr/lib/jvm/java-1.8.0-openjdk-amd64 与 SDK /home/don/Android/Sdk/ 和 NDK /home 一起使用/don/Android/Sdk/ndk-bundle 和 sdkmanager 中还添加了 25 和 27 版本。奇怪的、不稳定的问题
      【解决方案6】:

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

      症状

      Qt Creator 自检列表中的相关部分是:

      ✓  SDK tools installed.
      X  Platform SDK installed.
      

      另一个症状是下面的“SDK 管理器”选项卡有此消息:

      SDK 管理器不适用于当前版本的 SDK 工具。使用原生 SDK 管理器。

      原因及解决方法

      此问题的原因是SDK 工具版本错误。错误的版本被识别(“安装了 SDK 工具。”)但不能被 Qt Creator 用来检测安装了哪个平台 SDK 或安装新的。

      就我而言,我只是下载了最新版本,在Android Studio download page 上以commandlinetools-linux-*_latest.zip 提供。该版本引入了与 Qt Creator 期望的早期版本界面不向后兼容的更改。这个新包确实很不一样:它有不同的名称(commandlinetoolssdk-tools)、expects to be in a different place 等。

      要解决这个问题,请下载并安装“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
      

      这解决了上述所有症状。

      【讨论】:

        【解决方案7】:

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

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

        问题在于 jdk 9 及更高版本。出于某种奇怪的原因,它没有显示许可协议,并且不会继续超出该点。该修复程序坚持使用 jdk8

        【讨论】:

          【解决方案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 应用了

          【讨论】:

            【解决方案9】:

            Linux:

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

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

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

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

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

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

            【讨论】:

              【解决方案10】:

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

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

              请注意 Qt 无法检测到通过 Android Studio 安装 SDK 包

              【讨论】:

                【解决方案11】:

                要添加需要 JDK 8 的公认答案 - 如果您已经运行了较新版本的 Java,您可以轻松地在其旁边安装独立版本 8。使用来自https://adoptopenjdk.net/ 的安装程序并选择 v8.0。确保更新您的首选项以指向 Java 8,然后一切正常。

                【讨论】:

                  【解决方案12】:

                  就我而言,我下载了单独的 SDK 下载工具 android-sdk_r24.4.1-windows,然后再次安装了 SDK。 Android SDK Platform-tools 是 Android SDK Manager 的一部分。我解决了这个问题。

                  【讨论】:

                    猜你喜欢
                    • 2010-11-30
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-01-22
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-08-11
                    相关资源
                    最近更新 更多