R8 игнорирует параметр ProGuard «использовать уникальные имена членов класса». Альтернативы? - PullRequest
1 голос
/ 23 марта 2020

В какой-то момент в прошлом ProGuard, казалось, игнорировал правило «useuniqueclassmembernames», что делало практически невозможным чтение стековых следов сбоев, с которыми столкнулись пользователи моего приложения. Я просто случайно узнал, что в какой-то момент они поменяли ProGuard на R8, который теперь является стандартным оптимизатором / обфускатором (пожалуйста, поправьте меня, если я ошибаюсь). Неофициальная документация R8 (https://r8-docs.preemptive.com/) гласит, что некоторые правила ProGuard игнорируются

The following rules are ignored:

-addconfigurationdebugging
-android
-assumenoescapingparameters
-assumenoexternalreturnvalues
-assumenoexternalsideefffects
-dontpreverify
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontusemixedcaseclassnames
-dump
-forceprocessing
-keepparameternames
-mergeinterfacesaggressively
-outjars
-target
-useuniqueclassmembernames
-verbose

Это вызывает у меня много проблем. В качестве обходного пути я теперь использую опцию

android .enableR8 = false

, которая помечена как устаревшая и не рекомендуется.

Есть ли способ использовать уникальные имена членов класса с помощью R8?

...