簡體   English   中英

無法通過ndk支持構建android項目

[英]Not able to build the android project with ndk support

這是我的Android.mk文件

LOCAL_PATH:= $(調用my-dir)

包括$(CLEAR_VARS)

OPENCV_INSTALL_MODULES:= on include $(OPENCV_ANDROID_SDK)/sdk/native/jni/OpenCV.mk

LOCAL_MODULE:=人臉庫LOCAL_SRC_FILES + = $(LOCAL_PATH)/face-lib.cpp $(LOCAL_PATH)/FaceRecognitionLib/Facebase.cpp LOCAL_SRC_FILES + = $(LOCAL_PATH)/FaceRecognitionLib/Eigenfaces.cpp $(LOCAL_PATH) .cpp LOCAL_SRC_FILES + = $(LOCAL_PATH)/FaceRecognitionLib/PCA.cpp $(LOCAL_PATH)/FaceRecognitionLib/LDA.cpp LOCAL_C_INCLUDES + = $(EIGEN3_DIR)$(LOCAL_PATH)/ FaceRecognitionLIBS = -LSV -RedSV + = -std = gnu ++ 11 -frtti -fexceptions

包括$(BUILD_SHARED_LIBRARY)

搖籃文件

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

我得到的錯誤

錯誤:配置項目':app'時發生問題。 為ndkBuild執行外部本機構建D:\\ FaceRecognition \\ FaceRecognitionApp \\ app \\ src \\ main \\ cpp \\ Android.mk

您可以使用以下代碼構建.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
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM