Desidero compilare Proguard con il mio progetto Android con alcuni progetti di libreria Android aggiuntivi. In effetti, la maggior parte del codice e delle risorse giacciono in queste librerie.Progetto libreria Android: offuscamento e conservazione delle risorse
Ho aggiunto la riga "proguard.config = proguard.cfg" in project.properties del progetto principale, ho configurato cfg-file (-libraryjars .. \ libs). Quindi - tasto destro del mouse, Strumenti Android -> Esporta pacchetto di applicazioni con firma. Progetto ADT compilato per il rilascio ma l'app si è arrestata in modo anomalo al primo avvio: mentre leggevo dal registro, era a causa di un puntatore di risorse errato.
Ho decompilato progetto e scoperto cosa molto strana: se dichiaro risorsa nella libreria, quindi risorsa puntatore su di esso diventa 0.
problema non scompare quando aggiungo linea "proguard.config = proguard.cfg "in project.properties di tutto il mio progetto di libreria Android.
Qualche soluzione?
Edit: guardare frammento di proguard.cfg:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !
-printusage unused.txt
-optimizationpasses 2
-printmapping mapping.txt
# -overloadaggressively
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-libraryjars ..\libs
Perché è necessaria la configurazione proguard nei progetti di libreria? È la configurazione proguard nel progetto di destinazione che viene utilizzato. – pandre
Non importa se aggiungo o rimuovo "proguard.config" nei progetti di libreria. Ne ho parlato solo per informazioni complete. – QuickNick
Pubblica il tuo file di configurazione proguard. – 500865