Vorrei che il proguard offuscasse i nomi di classe. Ho questa linea in Proguard.cfgCome dire a Proguard di offuscare i nomi delle classi
-keepclasseswithmembers class * {
public static <fields>;
}
-keepnames class * implements java.io.Serializable
-keep public class com.google.**
E noto che ciò che non è offuscato sono i nomi delle classi. Così in esecuzione jdgui vedo com/test/abcd/ActualClass.java public class ActualClassName estende attività ecc
inoltre vedo metodi di tornare classnames reali. come
ActualClassname aa();
e importa dichiarazioni come
import com.abcd.ActualClassName
Come faccio ad avere Proguard per offuscare il nome della classe stessa. Non è solo per le attività che vedo che i miei adattatori non vengono offuscati. Beh, c'è l'oscuramento in corso ma non i nomi delle classi.
Le regole precedenti impediscono che i nomi delle classi vengano offuscati?
Aggiornamento: ho rimosso le regole precedenti e una classe di utilità che non estende nulla da Android non viene offuscata. Ora mi chiedo se ci sia qualche regola implicita sulla conservazione dei nomi delle classi delle classi a cui si fa riferimento da classi che vengono mantenute come classi di Derivaed di attività? Le classi i cui nomi non vengono offuscati hanno alcune cose in comune:
1) Metodi statici 2) Importazione di altri tipi che vengono mantenuti come quelli derivanti da attività o serializzabili. 3) Hanno metodi con parametri di altre classi (alcuni dei quali potrebbero dover essere mantenuti).
Tuttavia, non c'è dove io stia specificatamente chiedendo che queste classi di utilità debbano essere mantenute.
Sono in esecuzione nello stesso problema. Hai trovato una soluzione a questo problema? – lnreddy