NDK 不包含任何平台

Eli*_*atz 16 android-ndk android-studio

我想安装 NDK 以便能够使用 C/C++ 本机库。在尝试安装 NDK 时,我收到一条错误消息,说我的 C: 驱动器中没有足够的磁盘空间(因为下载位置是临时文件夹)。

我已经尝试更改系统变量中的临时路径,但 ndk 仍然下载到 C:\Users\User\Appdata\Local\Temp\PackageOperation02。

然后我转到项目结构以更改 Android NDK 位置,但是在尝试选择任何文件夹作为我的 NDK 位置时,我收到一条错误消息,提示“NDK 不包含任何平台”。

对此或为什么下载位置是 Temp 文件夹的帮助将不胜感激。

jow*_*owo 26

对于在 2021 年看到这一点的人:

Android NDK 的platform目录自 r19 以来已过时。NDK 团队在 2021 年 1 月的r21中将其完全删除,虽然已经过时,但仍然会在 Project Structure 窗口中导致上述错误。Android Studio IDE 的稳定版本(至少在 Mac 上)platform在您选择 r21 或更高版本并尝试应用它时仍在寻找目录。IDE 给出错误“NDK 不包含任何平台”。

在 Android Studio 更新为停止查找之前platform,您可以local.properties自己编辑文件,如下所示:

ndk.dir=/Users/[username]/Library/Android/sdk/ndk/22.0.7026061
sdk.dir=/Users/[username]/Library/Android/sdk
Run Code Online (Sandbox Code Playgroud)

这就是项目结构窗口通常会在幕后为您做的事情。

  • 就我而言,在从 local.properties 中删除“ndk.dir”之前,我无法更改 JDK 位置。一旦我删除它,我就可以再次更改 JDK 位置。 (3认同)

Sum*_*tel 7

ndk 的目录现在位于 sdk 文件夹中,名为 ndk 和 ndk-bundel,但是 ndk 的分配现在发生了变化,我们需要在 Android Gradle 插件(AGP)中添加 ndk 版本,如下所示

android {
   ndkVersion "version" // e.g.,  ndkVersion '21.3.6528147'
}
Run Code Online (Sandbox Code Playgroud)

您还需要从 sdk 管理器的 SDK 工具安装 CMake,并且还需要从 Gradle 进行设置,如下所示

android {
  ...
  externalNativeBuild {
    cmake {
        ...
        version "cmake-version"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 3

当我使用“SOME_DIRECTORY/ndk”之类的内容设置 NDK 目录时,我遇到了同样的问题。

我通过将其设置为“SOME_DIRECTORY/ndk/21.0.6113669”解决了这个问题。