x86、armeabi-v7a、armeabi 设备上的 arm64-v8a 应用程序出现 java.lang.UnsatisfiedLinkError 异常

问题描述 投票:0回答:1

我时不时地在我们的生产应用程序中收到

java.lang.UnsatisfiedLinkError
异常。

我在这里分享一个例子。以下设备收到了我们应用程序的

arm64-v8a
版本,然后在启动时崩溃并出现
UnsatisfiedLinkError
:

  • 设备:vivo y23l
  • cpuAbi:[“x86”,“armeabi-v7a”,“armeabi”]
  • 安卓5.1.1
  • 使用
    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 发布了单独的应用程序。

更新:另一事件:

  • 设备 OPPO A33
  • cpuAbi[ “armeabi-v7a”, “阿尔梅阿比” ]
  • 安卓4.4.4
  • 使用
    arm64-v8a
  • 下载应用程序
android google-play apk abi
1个回答
0
投票

我也有同样的问题。我通过执行以下操作解决了这个问题:

在 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

© www.soinside.com 2019 - 2024. All rights reserved.