如何在Gradle中设置NDK lib路径?

时间:2017-01-05 12:56:28

标签: android c++ android-ndk build.gradle ndk-build

我正在使用 ebookdroid &amp ;;处理PDF查看器应用程序。 MuPDF CPP文件。我在Gradle中进行NDK集成时遇到了很多问题。我已经通过了许多答案,但他们没有解决我的问题。

Gradle给我以下错误消息:

Error:Execution failed for task ':app:compileDebugNdk'.
Error: Your project contains C++ files but it is not using a supported native build system.
Consider using CMake or ndk-build integration with the stable Android Gradle plugin:
    https://developer.android.com/studio/projects/add-native-code.html
    or use the experimental plugin:
    http://tools.android.com/tech-docs/new-build-system/gradle-experimental.

1 个答案:

答案 0 :(得分:0)

编辑build.gradle,添加 defaultConfig.externalNativeBuild.ndkBuild externalNativeBuild.ndkBuild sourceSet.main.jni.srcDir 选项。请参阅以下评论。

android {
        compileSdkVersion 22
        buildToolsVersion "27.0.0"

        defaultConfig {
            minSdkVersion 18
            targetSdkVersion 22
            versionCode 1
            versionName "1.0"

            //add arguments passed to ndkBuild 
            externalNativeBuild {
                ndkBuild {
                    arguments "NDK_TOOLCHAIN_VERSION=clang", "APP_SHORT_COMMANDS=true", "APP_ALLOW_MISSING_DEPS=true"
                    arguments "-j" + Runtime.runtime.availableProcessors()
                    cFlags "-fexceptions"
                }
            }

            ndk {
                abiFilters "armeabi-v7a"
            }
        }

        //specify jni source file path
        sourceSets.main {
            java.srcDir "src"
            res.srcDir "res"
            jni.srcDir "jni"
        }


        buildTypes {
            debug {
                debuggable true
                jniDebuggable true
            }
        }

        //specify makefile / CMake file
        externalNativeBuild {
            ndkBuild {
                path 'jni/Android.mk'
            }
        }
    }