问题描述
最近,我已将Firebase crashlytics SDK升级到版本17.2.1(NDK版本)。这提供了用于库 armeabi-v7a和arm64-v8a 的第三方库 libcrashlytics.so ,用于基于ARM的32位设备和64位设备。但是我的应用程序是针对32位设备的 armeabi 体系结构而不是 armaebi-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中提到armaebi-v7a与armaebi兼容,因此应该没问题。
所以
- 是否有任何方法可以提供指令以将位于armaebi-v7a中的“ libcrashlytics.so”复制到armaebi?
- 在构建过程中还有其他自动复制吗?
- 还有其他解决方法可以解决我的问题吗?
环境-
- Gradle插件版本-3.5.4
- 版本版本-5.4.1
注意:由于其他一些原因,我无法移动我们的应用程序以支持“ armaebi-v7a”
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)