44

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

跟随链接开始使用 QT 安装

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

QT Android 安装问题

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

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

Android Studio SDK 管理器

已安装 Android SDK 构建工具。 在此处输入图像描述

已安装 Android SDK 平台 在此处输入图像描述

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

QT Creator 不会列出任何可用的 Android 构建 SDK QT Android 安装错误

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

4

12 回答 12

32

我刚刚找到了这个错误报告,在评论中可以找到

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

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

于 2018-01-13T01:05:53.137 回答
10

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

  1. 第一步(正如大多数答案所暗示的那样)从 JDK 9 更改为 JDK 8。我使用的是 Java 版本"1.8.0_152"
  2. 第 1 步对我没有帮助(Qt creator 坚持一些设置),所以我删除了完整的 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

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

创作者常见问题

堆栈溢出 Qt 设置 1

堆栈溢出 Qt 设置 2

现在我能够构建和运行 android 应用程序。

于 2018-02-25T08:24:30.510 回答
10

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

和Qt配置方面: 在此处输入图像描述

在此处输入图像描述

于 2018-01-19T19:26:05.790 回答
9

“已安装平台 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 再次感到高兴。

参考:

于 2018-10-03T20:33:20.510 回答
2

我只是有与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 下载页面commandlinetools-linux-*_latest.zip上提供的最新版本。该版本引入了与 Qt Creator 期望的早期版本界面不向后兼容的更改。那个新包确实很不一样:它有一个不同的名字(vs. ),期望在不同的地方等等。commandlinetoolssdk-tools

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

这解决了上述所有症状。

于 2020-05-28T20:18:46.390 回答
2

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

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

然后它可以工作,并且不会出现未安装的哑SDK 平台错误。:)

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

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

于 2018-07-04T15:20:18.043 回答
1

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

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

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

于 2018-09-11T10:58:37.837 回答
1

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

于 2019-02-05T15:46:01.650 回答
1

就我而言,我 安装了 SDK 工具的红十字会。安装了 Platform SDK。

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

文件是 tools_r25.2.5-linux.zip

我将提取的工具文件夹放在 sdk 文件夹中。我的设置现在只适用于 open-jdk-8 现在我可以在我的 S10 上部署 qml 应用程序

于 2020-04-16T16:35:37.653 回答
0

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

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

请注意,通过 Android Studio 安装 SDK 包将不会被 Qt 检测到

于 2018-10-09T21:27:52.660 回答
0

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

于 2020-04-15T22:57:39.827 回答
0

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

于 2021-04-01T03:27:19.103 回答