2016-10-24 4 views
0

Я пытаюсь заставить Dexguard не удалять функции регистрации при его сжатии и запутывании моего кода. Поэтому я заметил следующую инструкцию в файле конфигурации Dexguard:Продолжайте вести журнал при запутывании с помощью Dexguard

-assumenosideeffects класс android.util.Log {...}

После того, как эта команда комментируется, сборка выдает следующее сообщение об ошибке:

Выполнение не выполнено для задачи ': app: dexguardRelease'. > Инструкция имеет недопустимый размер постоянной индексный ([699742] ldc_w # 65536)

Я сначала подумал, что проблема была связана с ограничениями Android 64К, но строить успехи, когда dexguard отключен или когда он включен и чтобы отключить функции ведения журнала.

Возможно ли, что у dexguard возникли проблемы с запутыванием функций, таких как Log.d(), которые могут содержать длинные строки в качестве входных аргументов?

Благодаря

ответ

1

Вы, наверное, много отладочных строк в этом классе в сочетании с -encryptstrings ** директивой.

Это приведет к большому количеству зашифрованных строк в одном классе, что приведет к ошибкам, описанным в вашем сообщении.

Я предлагаю вам пересмотреть свои правила -encryptstrings и только зашифровать те, которые действительно чувствительны.