使用Dexguard进行模糊处理时保持日志记录

时间:2016-10-24 11:45:44

标签: android logging dexguard

我正在尝试让Dexguard在收缩和混淆我的代码时不剥离日志记录功能。因此,我在Dexguard配置文件中注释了以下说明:

-assumenosideeffects class android.util.Log {...}

注释此指令后,构建将失败,并显示以下错误消息:

任务执行失败':app:dexguardRelease'。 >指令具有无效的常量索引大小([699742] ldc_w#65536)

我首先认为问题与Android 64K限制有关,但是当dexguard被禁用或启用并设置为去除日志记录功能时,构建成功。

dexguard是否有可能混淆像 Log.d()这样的函数,这些函数可以包含长字符串作为输入参数?

由于

1 个答案:

答案 0 :(得分:1)

这个类中可能有很多调试字符串和-encryptstrings **指令。

这将导致单个类中的大量加密字符串导致您的帖子中描述的错误。

我建议你重新审视你的-encryptstrings规则,只加密真正敏感的规则。