Android - jak Sprawdzić działanie Proguard obfuscation?

Mam zaciemnione mój apk, ale Rozmiar Pliku został zmniejszony tylko z 12MB do 10.5 MB.

Powodem, dla którego jest to tylko stosunkowo niewielka redukcja, może być to, że moja aplikacja korzysta z kilku dużych bibliotek, ale czy jest jakiś sposób, aby sprawdzić poziom zaciemnienia, które zostało wykonane?

Na wszelki wypadek, to mój projekt proguard.plik txt...
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

-dontwarn twitter4j.**

...a biblioteki z których korzystam to android-support-v4.jar, acra-4.5.0.jar i twitter4j-core-4.0.2.jar.

Author: ban-geoengineering, 2014-12-31

3 answers

W katalogu twojego projektu znajdziesz folder Proguard, w którym zobaczysz cztery pliki tekstowe:

Wysyp.txt

Opisuje wewnętrzną strukturę wszystkich plików klas w .plik apk

Mapowanie.txt

Wyświetla mapowanie pomiędzy oryginalnymi i zaciemnionymi nazwami klas, metod i pól. Ten plik jest ważny, gdy otrzymasz raport o błędzie z release build, ponieważ tłumaczy zaciemniony ślad stosu powrót do oryginalne nazwy klas, metod i członków. Zobacz Dekodowanie Zaciemnionych Śladów Stosu więcej informacji.

Nasiona.txt

Lista klas i członków, które nie są zaciemnione

Użycie.txt

Wyświetla kod, który został usunięty zapk

Źródło: Proguard

Mam nadzieję, że to pomoże!
 29
Author: Elltz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-29 02:17:48

Tutaj jest prawdopodobnie bardziej wizualny sposób, aby sprawdzić. W nowszej wersji Android Studio jest wyposażony w Analizator APK, który pozwala użytkownikowi zbadać, co znajduje się w pliku APK i warto sprawdzić, czy Twoja klasa została zaciemniona.

Poniższy obrazek pokazuje, że zarówno Nazwa pakietu, jak i nazwa metody zostały zaciemnione

Możesz zobaczyć, że Nazwa pakietu i nazwa metody są zaciemnione

 21
Author: WenChao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 23:38:32
Mogę sprawdzić poziom zaciemnienia?

Możesz użyć flagi -optimizationpasses N.

Określa liczbę przejść optymalizacyjnych do wykonania. Domyślnie wykonywany jest pojedynczy przebieg. Wielokrotne przejścia mogą skutkować dalszymi ulepszeniami. Jeśli po przejściu optymalizacji nie zostaną znalezione żadne ulepszenia, optymalizacja zostanie zakończona. Dotyczy tylko podczas optymalizacji.

 0
Author: VKDev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-29 02:17:29