无法找到"libcrypto.so"引用的符号'tcgetattr'

Kag*_*uki 5 java android openssl android-ndk

我正在为Android应用程序构建一个帮助程序库,我需要为我正在使用的一些支持库提供完整的OpenSSL实现.我正在创建一个构建链并编译libssllibcrypto使用它但在运行时我得到:

java.lang.ExceptionInInitializerError
  Caused by: java.lang.UnsatisfiedLinkError: Cannot load library:
    soinfo_relocate(linker.cpp:975): cannot locate symbol "tcgetattr" referenced by "libcrypto.so.1.0.0"...
Run Code Online (Sandbox Code Playgroud)

我猜我需要做些什么来帮助tcgetattr在运行时找到它?

Ale*_*ohn 5

Android运行时在API 19和API 21之间发生了显着变化.NDK库反映了这种变化,现在从系统库中导出了许多符号(例如srand).因此,设置APP_PLATFORM(如果使用Android.mk)或platformVersion(如果使用实验性插件)不高于应用支持的最低SDK版本非常重要.