我正在尝试让Dexguard在收缩和混淆我的代码时不剥离日志记录功能。因此,我在Dexguard配置文件中注释了以下说明:
-assumenosideeffects class android.util.Log {...}
注释此指令后,构建将失败,并显示以下错误消息:
任务执行失败':app:dexguardRelease'。 >指令具有无效的常量索引大小([699742] ldc_w#65536)
我首先认为问题与Android 64K限制有关,但是当dexguard被禁用或启用并设置为去除日志记录功能时,构建成功。
dexguard是否有可能混淆像 Log.d()这样的函数,这些函数可以包含长字符串作为输入参数?
由于
答案 0 :(得分:1)
这个类中可能有很多调试字符串和-encryptstrings **
指令。
这将导致单个类中的大量加密字符串导致您的帖子中描述的错误。
我建议你重新审视你的-encryptstrings
规则,只加密真正敏感的规则。