【问题标题】:Difference between aarch64-linux-gnu and aarch64-linux-android librariesaarch64-linux-gnu 和 aarch64-linux-android 库之间的区别
【发布时间】:2018-07-10 10:22:26
【问题描述】:

我想在 Android 上使用为 arm64 编译的共享库。我的 .so 文件位于 aarch64-linux-gnu 文件夹中,但对于其他库,我有一个 aarch64-linux-android 文件夹。

请为aarch64-linux-gnu 编译的这些库可以在 arm64 Android 设备上运行吗?这些名称究竟代表什么?我知道aarch64指的是arm64处理器架构,但是这里不知道操作系统是怎么关联的。

谢谢!

【问题讨论】:

    标签: android shared-libraries arm64


    【解决方案1】:

    Android 和 ARM 我有一些相同的库。基本上,SO 文件必须能够找到它所链接的所有库才能运行,并且版本需要匹配,所以没有任何问题。这是有风险的,通常在目标机器上编译整个程序是最安全的。您可以使用以下方法查看是否可以找到所有内容/缺少的内容:

    ldd /path/to/file.so
    

    这将为您提供库列表以及文件认为它们在哪里 - 或 ???如果它找不到它。您需要仔细检查一下,看看这个结果是否正常。

    即使找到所有依赖项,版本或架构的不匹配也会导致程序在运行时中断。您需要广泛测试外部链接库的使用,即使那样您也可能会错过一些破坏程序的情况。因此,如果可能,我会尝试获取源代码,然后在目标机器上重新编译所有内容。

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多