Jest już dość późno, aby odpowiedzieć na to pytanie, ale na wypadek, gdyby ktoś potrzebował mojej odpowiedzi.
Lokalizacja pliku mapowania do odszyfrowania:
ProGuard zapisuje plik w aplikacji
app / build / output / mapping / FLAVOR / release / mapping.txt
Generalnie w trybie debugowania nie potrzebujesz pliku mapowania, ponieważ generalnie zaciemnianie jest wyłączone. Jeśli tak nie jest, upewnij się, że w pliku build.gradle masz poniższy kod wariantu debugowania.
debug {
minifyEnabled false
debuggable true
}
Niektóre kłopoty:
Plik mapping.txt jest nadpisywany za każdym razem, gdy tworzysz kompilację wydania za pomocą ProGuard, więc najpierw wykonaj kopię zapasową tego pliku przed utworzeniem nowej wersji. Pomoże to w zaciemnieniu śladu stosu ze starszej wersji aplikacji.
Oprócz tego istnieją dwa sposoby zaciemnienia kodu:
1. Prześlij plik mapping.txt do Konsoli Google Play:
Publikując aplikację w Google Play, możesz przesłać plik mapping.txt dla każdej wersji swojego pakietu APK. Następnie Google Play odszyfuskuje przychodzące ślady stosu z problemów zgłaszanych przez użytkowników, aby można było je przejrzeć w Konsoli Google Play.
2. Użyj lokalnego narzędzia SDK retrace.sh/retrace.bat:
Czasami chcesz uruchomić wydaną wersję swojej aplikacji (zmieniając wariant kompilacji na wydanie i uruchamiając ją), aby sprawdzić krzyżowo i naprawić błędy, aby nie zdarzały się one w środowisku produkcyjnym (po wydaniu do sklepu Play).
Aby samodzielnie przekonwertować zaciemniony ślad stosu na czytelny, użyj skryptu retrace ( retrace.bat w systemie Windows; retrace.sh w systemie Mac / Linux ).
Znajduje się w <sdk-root>/tools/proguard/bin/
katalogu.
<sdk-root>
to miejsce, w którym zostały zainstalowane wszystkie biblioteki i pakiety SDK systemu Android.
Skrypt pobiera plik mapping.txt i ślad stosu, tworząc nowy, czytelny ślad stosu.
Składnia polecenia:
retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]
Na przykład:
retrace.bat -verbose mapping.txt obfuscated_trace.txt
Preferuję lokalną wersję zaciemniania, ponieważ jest to bardzo przydatne do wstępnego sprawdzania błędów produkcyjnych.
Mam nadzieję, że to pomoże.