2014-12-31 12 views
15

Ho offuscato il mio apk, ma le dimensioni del file sono state ridotte da 12 MB a 10,5 MB.Android - Come controllare l'oscuramento di Proguard ha funzionato?

Il motivo per cui si tratta solo di una riduzione relativamente piccola potrebbe essere dovuto al fatto che la mia app utilizza un paio di librerie di grandi dimensioni, ma esiste un modo per verificare il livello di offuscamento che è stato eseguito?

Solo nel caso, questo è il mio file Proguard-project.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.** 

... e le librerie che sto usando sono android-support-v4.jar, acra-4.5.0.jar e twitter4j-core-4.0.2.jar.

+0

accettarlo se risolto la vostra esigenza .. – Elltz

+0

ho bisogno di provarlo prima! Non appena lo avrò, sarai il primo a sapere ... –

risposta

27

nella directory del progetto, troverete una cartella Proguard clic su di esso, e poi si vedrà 4 file di testo, discarica SEMI MAPPATURA USO .. elaborazione

dump.txt

Describes the internal structure of all the class files in the .apk file 

mapping.txt

Lists the mapping between the original and obfuscated class, method, 
and field names. This file is important when you receive a bug report from 
a release build, because it translates the obfuscated stack trace back to the 
original class, method, and member names. See Decoding Obfuscated Stack Traces 
for more information. 

seeds.txt

Lists the classes and members that are not obfuscated 

usage.txt

Lists the code that was stripped from the .apk 

source

questo è come vedo l'offuscamento workdone..hope aiuta

+1

Questi file vengono salvati in /build/outputs/mapping/release/ – Patzu

0

in qualsiasi modo posso controllare il livello di offuscamento che è stato eseguito?

forse è possibile utilizzare bandiera -optimizationpasses N? "Specifica il numero di passaggi di ottimizzazione da eseguire.Per impostazione predefinita, viene eseguita una singola passata.Passifiche multiple possono comportare ulteriori miglioramenti.Se non si riscontrano miglioramenti dopo un passaggio di ottimizzazione, l'ottimizzazione è terminata.Applicabile solo all'ottimizzazione."

13

Ecco probabilmente un modo più visivo per controllare. Nella versione più recente di Android Studio, viene fornito con APK Analyzer che consente all'utente di esplorare ciò che è nel file APK ed è utile controllare se la classe è stata offuscata.

seguito immagine mostra che sia il nome del pacchetto e il metodo sono stati offuscato

You can see the package name and method name is obfuscated

+1

Grazie per questa risposta.Puoi trovare questo strumento in Android Studio -> Buld -> Analizza APK ... – basti12354