NDK 未配置(虽然已安装)——如何在没有 Android Studio 的情况下修复

use*_*408 19 android gradle android-ndk android-gradle-plugin

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

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

> NDK not configured. 
  Download it with SDK manager.
Run Code Online (Sandbox Code Playgroud)

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

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

shi*_*hen 14

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

是的,您不必安装 Android Studio。

对于您现有的 Android 项目,我希望您已经local.properties在项目的根目录下。打开并修改那里以设置您的 NDK 目录。比如你的NDK版本是android-ndk-r17bhttps://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
Run Code Online (Sandbox Code Playgroud)


use*_*408 11

确保您设置了环境变量ANDROID_NDK_HOME并指向 NDK 安装目录。在我的情况下,这做到了:

export ANDROID_NDK_HOME=/home/myself/bin/android-ndk-r10e
Run Code Online (Sandbox Code Playgroud)

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

作为替代方案,如果您ndk-bundle通过安装sdkmanager,则会发现它没有额外的环境变量。