【问题标题】:NDK not configured (although it is installed)—how to fix without Android StudioNDK 未配置(尽管已安装)——如何在没有 Android Studio 的情况下修复
【发布时间】:2018-12-28 03:53:50
【问题描述】:

我正在尝试使用 Gradle 构建一个 Android 项目。该项目使用本机代码,因此需要我安装的 NDK。

但是,Gradle 失败并出现以下错误:

> NDK not configured. 
  Download it with SDK manager.

Android 的 SDK 管理器没有将 NDK 列为选项。此外,我的盒子上安装了 NDK,所以错误似乎是 Gradle 没有找到它。

大多数答案都假设用户拥有 Android Studio,而我没有也不想要。有没有办法解决这个问题?

【问题讨论】:

    标签: android gradle android-ndk android-gradle-plugin


    【解决方案1】:

    确保您已设置环境变量 ANDROID_NDK_HOME 并指向您的 NDK 安装目录。就我而言,这成功了:

    export ANDROID_NDK_HOME=/home/myself/bin/android-ndk-r10e
    

    您可能希望将其添加到您的 .bashrc 或类似内容中,以便在登录时插入变量,或者在每次启动 shell 并想要构建 NDK 项目时运行上述命令。

    作为替代方案,如果您安装了ndk-bundlesdkmanager,将发现它没有额外的环境变量。

    【讨论】:

    • 这对我有用。我正在使用 Linux 命令行安装特定的构建 yes | ./sdkmanager --install "ndk;21.0.6113669",并使用 NDK_ROOT 和 NDK_HOME 指向安装,但我需要的环境变量是 ANDROID_NDK_HOME。如果您执行--install ndk-build,则该变量似乎已设置,但始终安装最新版本。我从./sdkmanager --list 那里得到了这些版本
    【解决方案2】:

    大多数答案都假设用户拥有 Android Studio,而我没有 并且不想。有没有办法解决这个问题?

    是的,您不必安装 Android Studio。

    对于您现有的 Android 项目,我希望您在项目的根目录下已经有 local.properties。打开并在那里修改以设置您的 NDK 目录。比如你的NDK版本是android-ndk-r17b (https://developer.android.com/ndk/downloads/),并且你已经安装(或解压)在/Users/myname/foo/xxx/Android/android-ndk-r17b目录下,那么修改这个文件如下:

    ndk.dir=/Users/myname/foo/xxx/Android/android-ndk-r17b 
    sdk.dir=/Users/myname/foo/xxx/Android/sdk
    

    【讨论】:

    • 如果您有 Android Studio,并且从另一个开发人员那里获得了包含他们的 local.properties 的代码,这个答案也很有用。如果您的 Android Studio 已经在您的计算机上配置了正确的文件夹,您可以编辑他们的 local.properties 并删除指向他们本地计算机文件夹的 ndk.dir 行。然后 gradle sync 错误就会消失。
    • 仅供参考,由于 local.properties 中的 ndk.dir 配置已被弃用,这现在稍微过时了。它仍然有效(目前),但现在在这里概述了推荐的方法以正确设置:developer.android.com/studio/…
    猜你喜欢
    • 2020-06-13
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多