2017-06-05 3 views
0

Lorsque j'utilise proguard sur Android, j'ai trouvé proguard après avoir traité avec l'interface, la méthode d'interface de throws a été supprimée.L'interface de traitement Proguard supprimera la méthode d'interface throws

avant:

public interface Factory { 

Card create(Profile profile) throws CardException; 

} 

proguard-rules.pro:

-keep interface Factory { *; } 

après:

public interface Factory { 
Card create(Profile var1); 
} 

Vous pouvez voir que la méthode de lancers francs sont supprimés.

Je ne connais pas la raison pour optimiser, obfuscator ou rétrécir la raison.

+0

si CardException est votre classe personnalisée de sorte que vous devez déclarer également proguard. –

+0

Oui, je l'ai fait. -keep public class * extends java.lang.Exception – Benjy

+0

Voir ce https://stackoverflow.com/questions/1115515/obfuscating-method-with-throws-clause -keepattributes Exceptions – ChillingVan

Répondre

0

com.example avec le paquet remplacer la base de CardException classe et mettre cette ligne dans le fichier proguard

-keep class com.example.** { *; } 
+0

J'ai essayé, mais ça n'a pas marché – Benjy