使用 CMake 时如何在 Gradle 构建脚本中设置 NDK 路径?

voi*_*ter 5 java android gradle android-ndk android-studio

因此,我在网上完成的所有阅读都说要ndk.dir在 ANT 构建属性文件中进行设置,以修复我从 Gradle 收到的“NDK 未配置”错误,但显然我不能这样做,因为我没有使用 ant,我正在使用 Gradle+CMake。

下面是我的 gradle 脚本。我对此还很陌生,我只是想边走边弄清楚。我在 Gradle 中很好地构建了 java 部分,但此时我无法集成 CMake。

apply plugin: 'com.android.library'

android {
    compileSdkVersion 17
    buildToolsVersion "22.0.1"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 17

        ndk {
            moduleName "UI"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    lintOptions {
        abortOnError false
    }

    externalNativeBuild {
        cmake {
            path '../../CMakeLists.txt'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在哪里可以指定 NDK 路径?我定义了一个名为 的环境变量ANDROID_NDK。CMake 3.7 已经使用它来寻找 NDK 的位置。为什么 android gradle 脚本不使用它?既然我不使用ant,正确的方法是什么?

注意:我试图通过gradle build命令首先在 Android Studio 之外的命令行上构建东西。我得到的错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':Core:UI'.
> NDK not configured.
Download it with SDK manager.)
Run Code Online (Sandbox Code Playgroud)

Dan*_*ent 4

您可以通过选择菜单项来指定 Android Studio 中 NDK 的路径File->Project Structure。

然后,您应该会看到“项目结构”设置对话框,您可以在其中指定 NDK 位置。

您在此处输入的值将修改文件ndk.dir中的值local.properties,您可以在下图的背景中看到该值:

在此输入图像描述