Qt Creator:Android 设置有错误。 NDK 目录结构不正确,安装在带空格的路径中

Qt Creator: Android settings have errors. NDK directory structure isn't correct and installed in a path with spaces

我已经遇到这个问题 2 个月了。 Qt Creator 指示 ndk 路径和目录有问题,尽管消息令人困惑。

每个 Android 工具包都会出现这种情况。

在Qt Creator中,查看Options -> Devices -> Android,Android设置显示两条错误信息,左侧为红色'X':

  1. "X Android NDK directory structure is correct."
  2. "X Android NDK installed into a path without spaces."

我不知道消息 1 试图告诉我什么,这是目录的结构:

.
├── build
├── meta
├── ndk-build
├── ndk-depends
├── ndk-gdb
├── ndk-which
├── NOTICE
├── NOTICE.toolchain
├── prebuilt
├── python-packages
├── README.md
├── shader-tools
├── simpleperf
├── sysroot
├── toolchains
└── wrap.sh

关于第二条错误消息,这是路径:

/home/user/Android/android-ndk-r18b

我看不出上面的路径怎么可能是space。

当我尝试使用 Android 套件构建任何项目时,我在输出中收到以下错误:

opt/Qt/5.12.0/android_armv7/include/QtCore/qglobal.h:45:12: fatal error: 'type_traits' file not found

信息:

我使用的是旧版本的 NDK。

另外手动下载NDK也没用。但是当我从 Android Studio 下载 NDK 时,它可以工作。

希望对您有所帮助:)

所有这些麻烦的根源是在解压下载的 ndk 时犯了两个愚蠢的错误。

  1. 第一个错误促使我 post 这个问题,它与我的低端计算机和 Ubuntu 18.04 有关。解压缩文件时,OS 没有提供任何消息警告我该过程已完成。我的计算机需要大约 2 分钟才能完成提取,所以我猜测我在提取所有文件之前复制并粘贴了文件夹。

注意到这个事实并再次下载 ndk 后,我得到了同样的错误,虽然我确定提取成功了。这是另一个愚蠢的错误:

  1. 解压ndk时,会创建一个文件夹,其中包含另一个名称几乎相同的文件夹,结构如下:

    ...android-ndk-r19c-linux-x86_64/android-ndk-r19c/

    在 Qt Creator 中,我提供了 ...android-ndk-r19c-linux-x86_64/ 而不是 ...android-ndk-r19c-linux-x86_64/android-ndk-r19c/ 的路径,在更改为正确的路径后一切正常。

重要提示:从Qt5.12开始,推荐使用最新的ndk版本。

我在基于 Ubuntu 18.04 的项目中遇到了这个问题, 为避免一些错误,我强烈建议您在 Android Studio 上下载 Android NDK:

Android Studio > 工具 > SDK 管理器 > SDK 工具 > NDK(并排),

如下图所示:

之后,它将安装在:

/home/(UserName)/Android/Sdk/ndk

所以我选择这条路径作为 Android Ndk 路径,但是正如@Oshio 在他的回答的第二部分中所说的那样,这是错误的路径,你必须选择 [=30= 下的路径] 路径,在我的例子中:

/home/(UserName)/Android/Sdk/ndk/20.0.5594570

如下图所示: