android - Dexguard 发布版本缺少 .so 文件

标签 android dexguard sqlcipher-android cardio

我将 Dexguard 用于我的发布版本,但出现此异常:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/myapp.app-1/base.apk"],nativeLibraryDirectories=[/data/app/myapp.app-1/lib/arm64, /data/app/myapp.app-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn't find "libi.so"

我使用 Card.IO 和包含 native 代码的 SQLCipher。在我将 Card.IO 库添加到我的项目后,我得到了这个异常。 如果我只是点击 android studio 中的播放按钮,一切正常,但在发布版本中,我的应用程序无法运行。

你能帮我解决我的问题吗?

最佳答案

您应该直接向 support@guardsquare.com 提出此类问题。看起来 DexGuard 确实删除了 Card.IO native 库,因为它没有检测到它的使用。尝试添加特定的

-keepresourcefiles lib/**/libXXX.so

规则,其中 XXX 指的是 Card.IO native 库的名称。

关于android - Dexguard 发布版本缺少 .so 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47569510/

相关文章:

java - ReSTLets GAE Android

android - Android 上的证书固定

android - 在Android中创建自己的模拟器皮肤

android - 将 ProGuard/Dexguard 与多个 Android Studio 模块一起使用

android - Dexguard:在没有 Android 应用程序的情况下加密 .so 文件

android - 带有 robolectric 的 sqlcipher 的 UnsatisfiedLinkError

android - 使用 SQLCipher -Android 将纯内容提供程序数据(由 SQLite 支持)升级为加密

java - 检索 FAB 的 X 和 Y

android - 无法解析 Android Studio 中 net.sqlcipher 导入中的符号 'database'

android - DexGuard 和矢量绘图