使用应用程序包时,<1% 的用户出现 UnsatisfiedLinkError [英] Using an app bundle I get UnsatisfiedLinkError for <1% of users
问题描述
我正在尝试使用新的 Android App Bundle.
I'm trying to use the new Android App Bundles.
我在我的设备上本地运行了一些测试,一切正常.然而,一旦部署到生产环境,我开始看到一些这样的错误:
I run some test locally on my devices, and everything works correctly. However, once deployed to production, I am starting to see a few errors like this:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xyz/base.apk"],nativeLibraryDirectories=[/data/app/xyz/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libsqlite3x.so"
java.lang.Runtime.loadLibrary (Runtime.java)
java.lang.System.loadLibrary (System.java)
io.requery.android.database.sqlite.SQLiteDatabase.<clinit> (SQLiteDatabase.java:86)
io.requery.android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked (SQLiteOpenHelper.java:241)
io.requery.android.database.sqlite.SQLiteOpenHelper.getReadableDatabase (SQLiteOpenHelper.java:199)
...
错误指出我正在使用的库 (requery/sqlite-android) 找不到它需要的 .so 文件.这看起来很奇怪,因为我使用 bundletool 进行了检查,并且在每个 APK 中都有 .so 文件.
The error states that a library I'm using (requery/sqlite-android) cannot find the .so file that it needs. This seems strange, since I checked with bundletool, and in every APK the file .so is there.
该错误发生在两台设备上:一台三星 Galaxy Note 7 和一台TECNO-J8,分别运行Android 6和5.
The error happens on two devices: a Samsung Galaxy Note 7 and a TECNO-J8, running Android 6 and 5 respectively.
根据 Play 商店,错误发生在通过 Google Play 安装的应用程序上,所以我怀疑该错误与 APK 侧载有关.
According to the Play Store, the error happens for app installed through Google Play, so I doubt the error is related to APK sideloading.
生成的 APK 包包括以下架构的拆分:
The generated APK bundle includes splits for the following architectures:
- splits\base-armeabi_v7a.apk
- splits\base-mips.apk
- splits\base-arm64_v8a.apk
- splits\base-x86_64.apk
- splits\base-x86.apk
你有什么提示吗?
推荐答案
即使安装是从 Play 报告的,这些信息在使用 adb 时也很容易被欺骗(有些用户已经学会了这样做,但我不知道)还没搞定).这些崩溃很可能来自侧载,尽管出现了配置拆分,但它们没有安装.
Even though the installs are reported from Play, this information can easily be spoofed when using adb (which some users have learnt to do for some reason that I don't quite get yet). Those crashes very likely come from sideloads which don't install the config splits in spite of the appearances.
这篇关于使用应用程序包时,<1% 的用户出现 UnsatisfiedLinkError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!