Использование minifyEnabled true, чтобы избежать multidex, отключает точки останова - Как это исправить? - PullRequest
0 голосов
/ 11 октября 2018

Я работаю с существующим приложением для Android, которое включает Dropbox SDK.SDK включает в себя множество новых классов, что делает необходимым использование minifyEnabled true в настройках сборки, чтобы избежать мультидекса.

Хотя это не является проблемой в моей конфигурации выпуска, при отладке приложения у нее есть существенный недостаток: большинство точек останова больше не работают.

Даже если точка останова работает, и я хотел бычтобы использовать функцию «step into» для пошагового выполнения кода, бывает, что это невозможно.Вместо того, чтобы перейти к коду, в стеке вызовов вместо реального кода отображается запутанный код:

a.c:111,f (com.my.app.a)
xb:106,f (com.my.app.a)
onCreate:62, MyApp (com.my.app.TheClass)
...

Итак, я не могу установить minifyEnabled false.Что еще я могу сделать, чтобы все еще использовать мои контрольные точки?

1 Ответ

0 голосов
/ 11 октября 2018

Если вы хотите использовать только ProGuard (minifyEnabled true), чтобы приложение не требовало мультидекс, вы можете отключить запутывание и использовать только функцию сжатия ProGuard (при условии, что вы не используете оптимизацию, например, при использовании proguard-android.txtкак конфигурация по умолчанию).

Это не должно создавать запутанные трассировки стека и позволяет отлаживать приложение.

Редактировать:

Для отключения запутыванияпросто добавьте

-dontobfuscate

в файл конфигурации.

...