NDK不包含任何平台

时间:2019-05-20 22:13:41

标签: android-studio android-ndk

我想安装NDK以便能够使用C / C ++本机库。尝试安装NDK时,出现错误消息,提示我C:驱动器中没有足够的磁盘空间(因为下载位置位于“临时文件夹”中)。

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

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

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

8 个答案:

答案 0 :(得分:16)

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

Android NDK 的 platform 目录自 r19 起已过时。 NDK 团队 removed it altogether in r21 于 2021 年 1 月。虽然已经过时,但仍然会导致 Project Structure 窗口中出现上述错误。 Android Studio IDE 的稳定版本(至少在 Mac 上)在选择 r21 或更高版本并尝试应用时仍在寻找 platform 目录。 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

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

答案 1 :(得分:3)

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

android {
   ndkVersion "version" // e.g.,  ndkVersion '21.3.6528147'
}

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

android {
...
externalNativeBuild {
    cmake {
        ...
        version "cmake-version"
    }
}

}

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

可能您需要旧版本的 ndk,例如 android-ndk-r20b。因为我发现解压后的android-ndk-r22文件夹中没有platforms目录。我通过将 Android Studio 配置为 android-ndk-r20b 解决了这个问题。这是下载链接 https://developer.android.com/ndk/downloads/older_releases

答案 4 :(得分:0)

这类似于@YuuY的回答。由于无法添加屏幕截图以发表评论,因此我发布了新答案。

文件>项目结构...>确保目录路径包含版本号(例如C:\ Users ... \ ndk \ 21.3.6528147)

enter image description here

答案 5 :(得分:0)

https://developer.android.com/studio/projects/install-ndk 上的建议 如果您使用 3.5.0 以上的 gradle 版本并卸载旧版 NDK,则应从项目的 local.properties 文件中删除 ndk.dir 值,该值现已弃用。

答案 6 :(得分:0)

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

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

sdk.dir=C\:\\Users\\YOUR USER NAME\\AppData\\Local\\Android\\sdk
ndk.dir=C\:\\Users\\YOUR USER NAME\\AppData\\Local\\Android\\sdk\\23.0.7421159
flutter.sdk=C\:\\src\\flutter

答案 7 :(得分:0)

我建议使用 ANDROID NDK REVISION HISTORY

下载 r18b 或任何适合您的版本,手动下载并解压到 SDK 文件夹中。

然后去Android Studio中的项目

编辑local.properties文件并添加ndk.dir=path-to-sdk/android-ndk-r18b