我时不时地在我们的生产应用程序中收到
java.lang.UnsatisfiedLinkError
异常。
我在这里分享一个例子。以下设备收到了我们应用程序的
arm64-v8a
版本,然后在启动时崩溃并出现 UnsatisfiedLinkError
:
arm64-v8a
abi我试图了解没有arm64 cpu的设备如何从Play商店收到此apk。
相关指南讨论了 x86 运行armeabi,但不讨论arm64-v8a https://developer.android.com/ndk/guides/abis.html#android-platform-abi-support
许多基于x86的设备也可以运行armeabi-v7a和armeabi NDK 二进制文件。对于此类设备,主要 ABI 是 x86,并且 第二个,armeabi-v7a。
我计划在未来几个月内使用 Android 应用程序包。但了解这里发生的事情仍然会有所帮助。
值得一提的是,我们为每个
armeabi-v7a
、arm64-v8a
、x86
、x86_64
abi 发布了单独的应用程序。
更新:另一事件:
arm64-v8a
我也有同样的问题。我通过执行以下操作解决了这个问题:
在 proguard-rules.pro 文件中添加了以下内容:
-keep class com.arthenica.mobileffmpeg.Config {
native <methods>;
void log(long, int, byte[]);
void statistics(long, int, float, float, long , int, double, double);
}
-keep class com.arthenica.mobileffmpeg.AbiDetect {
native <methods>;
}
在 android/build.gradle 文件中:
我确保 mavenCentral() 在 jcenter() 之前
我正在使用RN:0.63.5
我提到了这个链接:GITHUB ISSUE