我正在尝试构建JNI项目并使用openssl进行加密和解密 . 我得到了以下错误 . 这是什么意思?我们什么时候得到这样的错误?以及如何解决它?

FAILURE:构建因异常而失败 .

  • 出了什么问题:任务':app:externalNativeBuildDebug'的执行失败 .

构建命令失败 . 执行进程C:\ android \ sdk \ cmake \ 3.6.4111459 \ bin \ cmake.exe时出错{--build C:\ SampleJni \ app.externalNativeBuild \ cmake \ debug \ armeabi-v7a --target native-lib构建CXX对象CMakeFiles / native-lib.dir / src / main / cpp / native-lib.cpp.o [2/2]链接CXX共享库........ \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a \ libnative-lib.so FAILED:cmd.exe / C“cd . && C:\ android \ sdk \ ndk-bundle \ toolchains \ llvm \ prebuilt \ windows-x86_64 \ bin \ clang .exe --target = armv7-none-linux-androideabi --gcc-toolchain = C:/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64 --sysroot = C:/ android / sdk / ndk-bundle / sysroot -fPIC -isystem C:/ android / sdk / ndk-bundle / sysroot / usr / include / arm-linux-androideabi -D__ANDROID_API __ = 14 -g -DANDROID -ffunction- sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march = armv7-a -mfloat-abi = softfp -mfpu = vfpv3-d16 -fno-integrated-as -mthumb -Wa, - noexecstack - Wformat -Werror = format-security -O0 -fno-limit-debug-info -Wl, - exclude-libs,libgcc.a --sysroot C:/ android / sdk / ndk-bundle / platforms / android-14 / arch-arm -Wl, - build- id -Wl, - warn-shared-textrel -Wl, - fatal-warnings -Wl, - fix-cortex-a8 -Wl, - no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl ,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ........ \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a \ libnative-lib.so CMakeFiles / native-lib.dir / src / main / cpp / native-lib.cpp.o ../../../../openssl-armeabi-v7a/lib/libcrypto.a . ./../../../openssl-armeabi-v7a/lib/libssl.a -llog -lm“C:/ android / sdk / ndk-bundle / sources / cxx-stl / gnu-libstdc /4.9/ libs / armeabi-v7a / libgnustl_static.a“&& cd . ” ../../../../openssl-armeabi-v7a/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner:error:undefined reference to'signal'../../ ../../openssl-armeabi-v7a/lib/libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner:error:undefined reference to'tcsetattr'../../../../ openssl-armeabi-v7a / lib / libcrypto.a(ui_openssl.o):ui_openssl.c:function read_string_inner:error:undefined reference to'tcsetattr'../../../../openssl-armeabi-v7a/ lib / libcrypto.a(ui_openssl.o):ui_openssl.c:function open_console:error:undefined reference to'tcgetattr'../../../../ openssl-armeabi-v7a / lib / libcrypto.a( c_zlib.o):c_zlib.c:function zlib_stateful_expand_block:error:undefined reference to'inmplate'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib .c:function zlib_stateful_compress_block:error:undefined reference to'deflate'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_free:错误:未定义引用'inflateEnd'../ . ./../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_free:错误:未定义引用'deflateEnd'../../../ . ./openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function zlib_stateful_finish:错误:未定义引用'inflateEnd'../../../../openssl-armeabi- v7a / lib / libcrypto.a(c_zlib.o):c_zlib.c:function zlib_stateful_finish:error:undefined reference to'deflateEnd'../../../../openssl-armeabi-v7a/lib/libcrypto . a(c_zlib.o):c_zlib.c:function zlib_stateful_init:error:undefined reference to'inflateInit_'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o) :c_zlib.c:function zlib_stateful_init:error:undefined reference to'deflateInit_'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_ctrl:错误:未定义引用'deflate'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_ctrl:error:undefined reference到'zError'../../../../openssl-armeabi-v7a/lib/libcrypto .a(c_zlib.o):c_zlib.c:function bio_zlib_write:error:undefined reference to'deflate'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o ):c_zlib.c:function bio_zlib_write:error:undefined reference to'zError'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c: function bio_zlib_write:error:未定义引用'deflateInit_'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_read:error:undefined参考'膨胀'../../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_read:错误:未定义引用'zError'.. /../../../openssl-armeabi-v7a/lib/libcrypto.a(c_zlib.o):c_zlib.c:function bio_zlib_read:错误:未定义引用'inflateInit_'clang .exe:错误:链接器命令退出代码1失败(使用-v查看调用)ninja:build stopped:子命令失败 .

下面分享应用程序的build.gradle

defaultConfig {
    applicationId "com.example.openssl"
    minSdkVersion 14
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    externalNativeBuild {
        cmake {
            cppFlags ""
        }
    }
    ndk {
        abiFilters 'armeabi-v7a'
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}

文件夹结构:

enter image description here