Android本机库冲突

时间:2018-08-21 16:36:22

标签: android android-ndk java-native-interface native .so

我的项目中有一个本地库armeabi arch,我想将其与apk打包在一起。当我在jniLibs下添加此代码并编译应用程序时,一切正常。但是,当我将第3方库添加到我的应用程序时,它将自己的.so文件添加到替换我的apk中。 .so用于arm64拱门,与我要添加的拱门完全不同。

当另一个都不存在时,它们各自都可以工作,但是当我尝试包括两者时,只有一个被添加到data / app / lib文件夹中。我尝试将其直接添加到jniLibs中,以及将其添加到libs文件夹和tryig中进行编译。但是所有试验都得出相同的结果。

有问题的2个库是:

  • libcom_googlecode_android_scripting.so(armeabi)

  • libjingle_peerconnection.so(arm64)。

1 个答案:

答案 0 :(得分:0)

听到这很奇怪

  

它将自己的.so文件添加到替换我的apk中。

但是,也许您会看到ABI后备问题,因为您的两个.so库是不同的体系结构。

  

有问题的2个库是:

     

libcom_googlecode_android_scripting.so( armeabi

     

libjingle_peerconnection.so( arm64 )。

因此,也许您可​​以尝试编译两种体系结构,以避免ABI从主ABI降级到辅助ABI。参见:Android Platform ABI support