Android-NDK:不满意的链接错误:无法加载库:soinfo_relocate:找不到符号" tcgetattr"

时间:2016-07-11 18:09:27

标签: android-ndk

我正在使用Android NDK在https://github.com/thibautd/android-serialport-api/tree/master/android-serialport-api/project上构建应用程序。 到目前为止我做了什么:

  1. 使用gradle版本' com.android.tools.build构建项目:gradle-experimental:0.7.0-alpha1'
  2. 我在android-17上构建它并在4.2上安装在Android设备上。我也试过android-19
  3. 构建经历没有任何错误但在运行时我得到异常无法加载库:soinfo_relocate:找不到符号" tcgetattr"
  4. 我已经尝试了几个选项来实现这个功能但是所有选项都失败了 我试过的选项

    1. 设置APP-PLATFORM,如Cannot locate symbol 'tcgetattr' referenced by "libcrypto.so"
    2. 中所述
    3. 使用$(PREBUILT_SHARED_LIBRARY),将.so文件包含在How can i Link prebuilt shared Library to Android NDK project?
    4. 中提到的同一个github位置
    5. 尝试在上面的选项1)和2)中设置LOCAL_EXPORT_C_INCLUDES,如同帖[{3}}
    6. 中所述
    7. 还尝试了How can i Link prebuilt shared Library to Android NDK project?
    8. 中提到的选项
    9. 将所有必需的包含文件直接放在/ jni下的项目中,并尝试构建项目。
    10. 我的项目编译得非常好。测试时我总是删除build文件夹中的内容并重建项目。确保.so文件确实正确创建。 在所有情况下,我最终都出现了完全相同的错误soinfo_relocate:找不到符号" tcgetattr"

      我认为这是因为有些像unistd.h这样的包含在运行时没有被正确引用,但是我无法弄清楚如何让它工作。

0 个答案:

没有答案