使用 dexguard 加密时,在运行时加载本机库需要更多时间

Posted

技术标签:

【中文标题】使用 dexguard 加密时,在运行时加载本机库需要更多时间【英文标题】:Loading the native library in runtime is taking more time when encrypted with dexguard 【发布时间】:2015-07-25 23:06:41 【问题描述】:

我已经在我的 android 应用程序中集成了 dexguard。一切正常。

我还使用 dexguard 加密了本机库。这里的问题是,当我应用 dexguard 时,加载本机库需要几秒钟,而没有 dexguard 它会立即加载。如果我从 dexguard 属性文件中删除 -encryptnativelibraries,它会立即加载。

我猜想在运行时解密 .so 文件需要几秒钟?或者不应该花这么长时间?

【问题讨论】:

如果您正在做某事extra,显然它会比平时花费更多时间。 bdw 你现在有什么问题?在***上要清楚。请阅读how to ask System.loadLibrary("sample") 加载so文件。这通常不需要时间。但是,当我使用 dexguard 加密 so 文件并加载库时,大约需要 10 秒。所以我不得不特别注意放置进度条。我的问题是这个时间延迟是预期的???还是我做错了什么? 您是在Device 还是Emulator 上进行测试? 那么 10 秒太长了 我该怎么办? 【参考方案1】:

旧版本的 DexGuard 以非常低效的方式加载加密的本机库。较新的版本 7.1.20+ 改进了解密和加载的性能,与未加密的库相比,您应该不会再注意到太大的差异。

【讨论】:

以上是关于使用 dexguard 加密时,在运行时加载本机库需要更多时间的主要内容,如果未能解决你的问题,请参考以下文章

DexGuard 如何加密类?

Proguard/Dexguard dontobfuscate React Native 中的特定图像文件夹

dexguard 8.2.16 导致运行时崩溃

DexGuard 篡改和环境检测有用吗?

如何加载android系统本机库

加载配置时出错 - 您似乎正在使用本机 ECMAScript 模块配置文件 (Jest)