2017-05-20 2 views
0

je l'application Android suivante:Proguard - Obfuscate application Android, autant que possible

$ git clone https://github.com/zeuscronos/CallTheDog.git 
$ cd CallTheDog/ 
$ npm install 
$ ionic platform add android 
$ cp __temp/* platforms/android/ 
$ ionic build android --release 
$ adb install platforms/android/build/outputs/apk/android-release.apk 

Le fichier de configuration Proguard est:

platforms/android/proguard-rules.pro 

Vous avez en ligne ici:

https://github.com/zeuscronos/CallTheDog/blob/master/__temp/proguard-rules.pro

En ce moment, son contenu est:

-keep public class com.ionicframework.** { *; } 
-keep public class org.apache.cordova.** { *; } 
-keep public class io.ionic.keyboard.** { *; } 
-keep public class mx.ferreyra.callnumber.** { *; } 
-dontshrink 

Comme il est en ce moment, il ne fait aucun faux-fuyants.

Mes questions sont les suivantes:

1- Comment puis-je configurer ces Proguard règles pour obfuscate autant que possible?

2- Comment puis-je keep the name of a method (parfois nécessaire pour garder la cohérence de l'application complète) mais en même temps obfuscating le contenu à l'intérieur comme local variables, etc?

Par exemple, en regardant l'image suivante, qu'en est-il si je veux garder le nom des méthodes: execute et callPhone mais obfusant en même temps ses variables locales?

enter image description here

+0

Vous voudrez probablement lire https://www.guardsquare.com/fr/proguard/manual/examples –

Répondre

1

Proguard obscurcit déjà autant que possible, généralement ce que vous mentionnez sont des exceptions. Je pense que cela pourrait le faire pour votre exemple

-keepclassmembers class mx.ferreyra.callnumber.CFCallNumber { 
    boolean execute(java.lang.String, ...rest of signature); 
    void callPhone(org.json.JSONArray); 
} 

Ne pas oublier minifyEnabled true dans la version gradle construire si vous ne l'avez pas déjà.