【问题标题】:two .so files couldn't load from two different package in an application why?为什么无法从应用程序中的两个不同包加载两个 .so 文件?
【发布时间】:2014-11-25 16:26:38
【问题描述】:

我有两个 .so 文件,一个在以下文件夹 Armeabi,armeabi-v7a,Mips,x86 和另一个在 arm64-v8a,mips64,x86-64 中,我需要从里面的不同包中加载这两个 .so 文件应用程序,但其中一个 .so 文件未加载并创建错误,为什么?

【问题讨论】:

  • 请对每个.so 文件运行file 命令并编辑您的问题以给出结果(并显示您正在谈论的确切.so 文件)
  • 我在 ubuntu 中从终端运行命令,并从这个 .so 文件创建我有 android.mk 文件,我在其中输入两行,如 LOCAL_MODULE := splpro-jni LOCAL_SRC_FILES := splpro.c以前创建的 .so 文件的条目在哪里,但为什么它没有得到输出??

标签: android android-activity


【解决方案1】:

阅读ld.so(8)ldd(1)ldconfig(8)

您可能想要设置您的LD_LIBRARY_PATH 环境变量,或配置/etc/ld.so.conf 然后运行ldconfig

在这两种情况下,您都希望出现包含您的.soELF 共享对象文件的两个目录(Linux - 包括 Android- 具有目录,而不是“文件夹”)。

另请阅读Program Library HowTo & Drepper's paper: How To Write A Shared Library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    相关资源
    最近更新 更多