Wie zu sagen, Proguard zu verschleiern Klasse Namen

Ich möchte proguard zu verschleiern Klassennamen. Ich habe diese Zeile in Proguard.cfg

-keepclasseswithmembers class * {
public static <fields>;
}

-keepnames class * implements java.io.Serializable
-keep public class com.google.**

Und ich merke, dass was nicht verschleiert ist, die Klassennamen. So läuft jdgui ich sehen
com/test/abcd/ActualClass.java
public class ActualClassName erweitert Aktivitäten, etc

außerdem sehe ich Methoden, die Rückkehr real Klassennamen. wie

 ActualClassname aa();

Importe und Aussagen wie

 import com.abcd.ActualClassName

Wie bekomme ich Proguard zu verschleiern classname selbst. Es ist nicht nur für die Aktivitäten, die ich sehe, diese meine Adapter sind nicht verschleiert. Auch gibt es die Verschleierung geht aber nicht Klassennamen.

Ist an die oben genannten Regeln, was verhindert, dass die Klassennamen wird verschleiert?

Update: ich habe da entfernt an die oben genannten Regeln und eine Utility-Klasse, erstreckt sich nicht alles von Android ist nicht verschleiert. Ich bin jetzt Fragen, ob es eine implizite Regel über das halten von Klasse, Namen der Klassen, auf die verwiesen wird, die von Klassen, die gehalten werden wie Aktivität derivied Klassen? Die Klassen, deren Namen nicht unkenntlich gemacht, haben ein paar Dinge gemeinsam:

1) Statische Methoden
2) Importieren Sie von anderen Arten, die gehalten werden wie diejenigen, die sich aus der Aktivität oder serialisierbar.
3) Sie haben Methoden mit Parametern von anderen Klassen (von denen Einige vielleicht müssen gehalten werden).

Aber es gibt keine, wo ich bin ausdrücklich verlangt, dass diese utility-Klassen gehalten werden sollte.

  • Ich bin mit den gleichen Problem. Hast du eine Lösung für dieses problem ?
InformationsquelleAutor Code Droid | 2012-05-08
Schreibe einen Kommentar