android - dexguard 混淆中的非 ASCII 字符

标签 android dexguard

我正在尝试使用 dexguard 附带的 retrace 工具来调试混淆代码中的异常。混淆标识符使用非 ASCII 字符,至少它在生成的映射文件中看起来是这样的,例如:

boolean areEqual(char[],char[]) -> ËŠ

当我尝试从设备导出堆栈跟踪以便将其提供给 retrace 时,这给我带来了问题。是我的混淆设置有问题,还是 dexguard 使用非 ASCII 字符正常?如果是这样,我应该如何从设备中导出堆栈跟踪以保存它们?

编辑:从那以后,我发现了 adb logcat -B 形式的解决方法,它以二进制形式输出日志。这会导致日志文件有点难以阅读,但在堆栈跟踪中确实包含正确的非 ASCII 字符。关于 dexguard 的原始问题仍然存在。

最佳答案

DexGuard 确实可以使用非 ASCII UTF-8 字符进行混淆,具体取决于混淆库。它的 ReTrace 工具可以很好地处理它们,但您需要确保在复制它们时您的环境不会破坏堆栈跟踪:控制台、文本编辑器、窗口系统等。

关于android - dexguard 混淆中的非 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22806688/

相关文章:

android - 如何将 DexGuard 集成到我在 Android Studio 中的项目中

android - 带有 applicationIdSuffix 的 DexGuard

java - 如何使用 ProcessLifecycleOwner 捕捉生命周期事件?

android-gradle-plugin - Android gradle 插件(升级到 2.2.0 后)失败,出现 dexguard 任务错误 "No signature of method: ....getAllLibraries()"

android - 当包含长 TextView 时,scrollview 在 ics(android 4.0)上非常慢

android - 带有 Fragment 选项卡和 AdMob 的操作栏

android - 如果发生错误,有没有办法让 DexGuard 以错误条件退出?

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

android - 为 Gesture.toBitmap() 设置描边宽度

android - 将日期/时间(以毫秒为单位)格式化为 Android 中的本地字符串