Как не запутывать имена классов, но в любом случае получить правильное симплен-имя? - PullRequest
0 голосов
/ 26 ноября 2018

У меня более 20 фрагментов, начиная с MyFragment, например:

  • LoginFragment extends MyFragment
  • UploadFragment extends MyFragment
  • CameraFragment extends MyFragment
  • и т. д.

, а MyFragment в свою очередь простирается от Fragment.Поэтому в моем приложении для Android и всякий раз, когда я раздуваю одно из них, я вызываю в своем абстрактном классе showFragment(MyFragment f), где я запускаю событие Adjust,

AdjustEvent event = new AdjustEvent(EVENT_LOAD_FRAGMENT);
// Add callback parameters to this parameter.
event.addCallbackParameter("LoadFragment", 
f.getClass().getSimpleName());
Adjust.trackEvent(event);

, чтобы я мог измерить, какой фрагмент какчасто используется как пара значений kay.Пока все хорошо, и на этапе отладки все работает хорошо.

Как вы можете себе представить, getClass().getSimpleName() запутывается в среде производства.Я не хочу трогать все 20 фрагментов, и было бы совершенно нормально, если уроки будут запутаны.Но я все еще хотел бы получить класс 'valid getSimpleName() String ..

Как я могу получить класс действительный getSimpleName() после того, как он был запутан?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я использовал

-keepnames class  * extends com.you.package.name.MyFragment

, распаковал aar и classes.jar и проверил forlder сборки для seed.txt и mapping.txt, чтобы увидеть запутывание

0 голосов
/ 27 ноября 2018

добавьте ниже в ваш конфигурационный файл proguard.

-keep,allowobfuscation class  * extends com.you.package.name.MyFragment
...