如何解决Android上的共享库导入问题?

如何解决Android上的共享库导入问题?,android,android-ndk,shared-libraries,Android,Android Ndk,Shared Libraries,我有一些共享库,可能是libaaa.so,libbbb.so,libccc.so libaaa.so仅在armeabiARCH上编译 libbbb.so编译于armeabi和armeabi-v7a 和libccc.so在两个ARCH上编译(x86,arm64,mips) 目前,我必须将libaaa.so复制到armeabi-v7a,arm64-v8a。。。文件夹,否则将筹集现金 如何避免额外复制?使用System.load()而不是System.loadLibrary() 差异已经讨论过。请参阅

我有一些共享库,可能是
libaaa.so
libbbb.so
libccc.so

  • libaaa.so
    仅在
    armeabi
    ARCH上编译
  • libbbb.so
    编译于
    armeabi
    armeabi-v7a
  • libccc.so
    在两个ARCH上编译(
    x86
    arm64
    mips
  • 目前,我必须将
    libaaa.so
    复制到
    armeabi-v7a
    arm64-v8a
    。。。文件夹,否则将筹集现金

    如何避免额外复制?

    使用
    System.load()
    而不是
    System.loadLibrary()

    差异已经讨论过。

    请参阅。在该页面中,“在处理.so文件时,有一条非常简单但不为人所知的重要规则需要遵循。如果可能的话,你应该为每个ABI提供优化的库,但这要么全在其中,要么什么都没有:你不能混用。你必须提供每个ABI文件夹中使用的全部库。”因此,您似乎需要将So文件放在不同体系结构的所有文件夹中。