将第三方库文件从armae​​bi-v7a文件夹中移出

问题描述

最近,我已将Firebase crashlytics SDK升级到版本17.2.1(NDK版本)。这提供了用于库 armeabi-v7a和arm64-v8a 的第三方库 libcrashlytics.so ,用于基于ARM的32位设备和64位设备。但是我的应用程序是针对32位设备的 armeabi 体系结构而不是 armae​​bi-v7a 构建的。

因此,在应用程序构建后,当所有库通过构建gradle合并时,我无法在 armeabi 文件夹中看到 libcrashlytics.so 库。

...build/intermediates/merged_native_libs/.../out/lib/armeabi-v7a/libcrashlytics.so
...build/intermediates/merged_native_libs/.../out/lib/arm64-v8a/libcrashlytics.so
...build/intermediates/stripped_native_libs/.../out/lib/armeabi-v7a/libcrashlytics.so
...build/intermediates/stripped_native_libs/.../out/lib/arm64-v8a/libcrashlytics.so

因此,当我尝试使用dlopen("libcrashlytics.so",RTLD_LAZY | RTLD_LOCAL)); dlopen这个库时,由于无法加载libcrashlytics库,我的应用程序在32位移动设备中崩溃。我的应用程序可以在64位体系结构上正常工作。

但是在将 libcrashlytics.so 库手动复制到...build/intermediates/stripped_native_libs/.../out/lib/armaebi/目录并进行构建之后,解决了该问题。 https://developer.android.com/ndk/guides/abis中提到armae​​bi-v7a与armae​​bi兼容,因此应该没问题。

所以

  1. 是否有任何方法可以提供指令以将位于armae​​bi-v7a中的“ libcrashlytics.so”复制到armae​​bi?
  2. 在构建过程中还有其他自动复制吗?
  3. 还有其他解决方法可以解决我的问题吗?

环境-

  • Gradle插件版本-3.5.4
  • 版本版本-5.4.1

注意:由于其他一些原因,我无法移动我们的应用程序以支持“ armae​​bi-v7a”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...