有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java找不到“libcrypto.so”引用的符号“tcgetattr”

我正在为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"...

我猜我需要做些什么来帮助在运行时定位tcgetattr


共 (1) 个答案

  1. # 1 楼答案

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