我经常在我们的生产应用程序中收到java.lang.UnsatisfiedLinkError
异常。
我在这里分享一个例子.下面的设备收到我们的应用程序的arm64-v8a
版本,然后在启动时与UnsatisfiedLinkError
崩溃:
- 器械:vivo y23 l
- cpuAbi:[“x86”,“armeabi-v7a”,“armeabi”]
- Android 5.1.1
- 下载的应用程序与
arm64-v8a
abi
我试图了解它是如何可能的,没有arm 64 CPU的设备从Play商店收到这个APK.
相关指南谈到x86运行armeabi而不是arm 64-v8 a https://developer.android.com/ndk/guides/abis.html#android-platform-abi-support
许多基于x86的设备也可以运行armeabi-v7 a和armeabi NDK二进制文件。对于这些设备,主要ABI是x86,第二个ABI是armeabi-v7 a。
我计划在未来几个月内使用Android应用程序包。但它仍然有助于了解这里发生了什么。
值得一提的是,我们为每个armeabi-v7a
,arm64-v8a
,x86
,x86_64
abi发布了单独的apk。
**更新:**另一个事件:
- 设备OPPO A33
- cpuAbi[“armeabi-v7a”,“armeabi”]
- 安卓4.4.4
- 下载的应用程序与
arm64-v8a
1条答案
按热度按时间czq61nw11#
我也遇到了同样的问题。我通过以下方法解决了这个问题:
在proguard-rules.pro文件中添加以下内容:
字符串
在android/build.gradle文件中:
我确保mavenCentral()在jcenter()之前
我正在使用RN:0.63.5
链接:GITHUB ISSUE