【问题标题】:Not able to build the android project with ndk support无法使用 ndk 支持构建 android 项目
【发布时间】:2018-02-17 00:28:00
【问题描述】:

这是我的 Android.mk 文件

LOCAL_PATH := $(call my-dir)

包括 $(CLEAR_VARS)

OPENCV_INSTALL_MODULES := 开启 包括 $(OPENCV_ANDROID_SDK)/sdk/native/jni/OpenCV.mk

LOCAL_MODULE := face-lib LOCAL_SRC_FILES += $(LOCAL_PATH)/face-lib.cpp $(LOCAL_PATH)/FaceRecognitionLib/Facebase.cpp LOCAL_SRC_FILES += $(LOCAL_PATH)/FaceRecognitionLib/Eigenfaces.cpp $(LOCAL_PATH)/FaceRecognitionLib/Fisherfaces.cpp LOCAL_SRC_FILES += $(LOCAL_PATH)/FaceRecognitionLib/PCA.cpp $(LOCAL_PATH)/FaceRecognitionLib/LDA.cpp LOCAL_C_INCLUDES += $(EIGEN3_DIR) $(LOCAL_PATH)/FaceRecognitionLib/RedSVD/include LOCAL_LDLIBS += -llog -ldl LOCAL_CPPFLAGS += -std=gnu++11 -frtti -fexceptions

包括 $(BUILD_SHARED_LIBRARY)

Gradle 文件

externalNativeBuild {
        ndkBuild {
            path 'src/main/cpp/Android.mk'
        }
    }

我得到的错误

错误:配置项目 ':app' 时出现问题。 为 ndkBuild 执行外部原生构建 D:\FaceRecognition\FaceRecognitionApp\app\src\main\cpp\Android.mk

【问题讨论】:

    标签: android c++ opencv android-ndk


    【解决方案1】:

    您可以使用以下代码构建 .so 文件,不要忘记更改您的 ndk 路径。

    import org.apache.tools.ant.taskdefs.condition.Os
    
    android {
           .
           .
        sourceSets.main {
                jniLibs.srcDir 'src/main/libs' //set libs as .so's location instead of jniLibs
                jni.srcDirs = [] //disable automatic ndk-build call with auto-generated Android.mk
            }
    
            // call regular ndk-build(.cmd) script from app directory
            task ndkBuild(type: Exec) {
                if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                    commandLine 'D:\\sdk\\android-ndk\\ndk-build.cmd', '-C', file('src/main/jni').absolutePath
                } else {
                    commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath
                }
            }
    
            tasks.withType(JavaCompile) {
                compileTask -> compileTask.dependsOn ndkBuild
            }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-23
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2013-03-23
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多