2013-06-25 6 views
18

C'è uno strumento di offuscamento da utilizzare con Studio Android? Il plug-in IntelliGuard è declared to be supported da Studio, ma in realtà non funziona a causa della mancanza del plug-in AntSupport. Non riesco a trovarne uno nel repository. Qualche idea?Obfuscation in Android Studio

P.S. Il processo di generazione di Android Studio è basato su Gradle, quindi non mi aspetto di vedere il supporto Ant lì. Forse sto sbagliando.

+0

Provato Proguard? – Lesleh

+2

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard potrebbe aiutare –

risposta

35
  • base Offuscamento

di offuscare il codice in studio Android basta andare al file build.gradle nel progetto Studio Android:

enter image description here

Modificare la proprietà minifyEnabled da falso a vero

enter image description here

Questo è un offuscamento di base.

Dopo aver generato l'APK è possibile vedere il risultato offuscamento decompilating l'APK con qualsiasi software, ad esempio, questa pagina potrebbe aiutare:

http://www.decompileandroid.com/

Nella offuscamento risultato si vedrà classi con nome: un , b, c ....

enter image description here

e l'offuscamento variabili e metodi avranno anche nomi come aa, c, ac ...

enter image description here

  • offuscamento normale:

di offuscare il codice in una forma più complessa si potrebbe andare a directory principale applicazione e creare un file .pro, ad esempio nella figura seguente I hanno creare il file: proguard-rules-new.pro, nella stessa directory si dovrebbe vedere un file chiamato proguard-rules.pro

enter image description here

Ora aggiungere il file che avete creato per il file build.gradle

enter image description here

e modificare il file .pro avete creare con le proprie regole personalizzate Proguard

enter image description here

+0

Dà questo errore dopo aver caricato apk "AccessDenied" – VVB

+2

Ho la stessa configurazione tranne che il mio file è 'proguard.cfg' ha provato a decompilare l'apk e le classi sono lo stesso senza obsfucation .. Devo rinominare .cfg in .pro? – mboy

+1

C'è qualche plugin che può scrivere automaticamente le regole proguard –

4

Prima abilitare minifyEnabled nella tua build.file di Gradle, come

minifyEnabled true 

Dopo questo, aggiungere di seguito le linee nel file di progurad-rules.txt

-keep class yourpackage.** { *; } 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-verbose 

Per controllare che il suo funzionamento benissimo andare a:

http://www.javadecompilers.com/apktool sito web in modo da poter verificare dopo la decompilazione.

Funzionerà e le classi saranno nascoste completamente.