2013-04-23 13 views
6

Ho due progetti Project_A e Project_B. Project_B è un progetto di libreria per Project_A. Project_B ha un jar esterno nella sua cartella libs.Proguard: Escludi progetto libreria in Android

Quando corro proguard su Project_A, ottengo errori come:

(Unknown verification type [69] in stack map frame)) 

L'errore fa riferimento al file presente in vaso esterno (che è presente in librerie di Project_B)

sto usando norma file proguard.cfg che otteniamo in Android SDK.

Ho provato "-keep class. **" ma sto ricevendo lo stesso errore.

Per favore fatemi sapere se esiste un modo in cui posso escludere Project_B (progetto di libreria) e i suoi vasi da offuscamento. Voglio eseguire proguard solo su Project_A, non sul suo progetto di libreria.

+0

http://tools.android.com/recent/proguardimprovements. controlla l'esempio @ http://proguard.sourceforge.net/index.html#manual/examples.html – Raghunandan

risposta

0

ProGuard necessita dell'intera gerarchia di classi per elaborare correttamente l'applicazione, quindi non è possibile ignorare la libreria.

Il codice della libreria sembra essere corrotto; molto probabilmente, è stato post-elaborato da uno strumento che lo ha danneggiato. Alcuni strumenti non aggiornano correttamente le informazioni di verifica. Questa informazione è facoltativa, ma ProGuard si aspetta che sia formata correttamente. Dovresti controllare se esiste una versione più recente della libreria o dello strumento di post-elaborazione.

+0

Ho usato il plugin per l'ombra per unirmi in un singolo barattolo. Sto ottenendo lo stesso erro, ProGuard punta a una classe interna di uno della libreria esterna che dice "Tipo di verifica sconosciuto [73] nel frame della mappa dello stack" – nish1013

Problemi correlati