2014-06-25 18 views
5

Sto cercando di ottenere un APK firmato da Eclipse. Ho una versione apk debugabile che funziona bene. Ora per il rilascio quando ho provato a compilare e firmare con Eclipse ADT, ottengo molti avvisi, la maggior parte dei quali è can't find superclass or interface some.package.Class. Quindi, mi sono riferito a , this e molti altri purtroppo non sono riuscito a raggiungerlo da nessuna parte!Android apk La modalità di debug funziona bene ma la modalità di rilascio fornisce troppi avvisi

Ho anche Note: there were 314 duplicate class definitions. avvertimento

mio progaurd-project.txt era intatto in precedenza. Quindi, ho aggiunto -libraryjars /libs/lib-name per ciascuno dei vasi presenti nella cartella /EcliseProject/libs/. Così mi si avvicinò con il seguente:

-libraryjars /libs/android-support-v4.jar -libraryjars /libs/apache-mime4j-core-0.7.2.jar -libraryjars /libs/gcm.jar -libraryjars /libs/httpclient-4.3.3.jar -libraryjars /libs/httpcore-4.3.2.jar -libraryjars /libs/httpmime-4.3.3.jar -libraryjars /libs/library.jar -libraryjars /libs/nineoldandroids-2.4.0.jar

Entro la fine di questo ho avuto alcuni avvertimenti 1800+ maggior parte dei quali è non trovare superclasse o interfaccia di cui sopra. Quindi, ho preso i barattoli che hanno quelle classi e li ho messi anche in/lib/folder e ho aggiunto -libraryjars voci incluso rt.jar, ecc. Poi ho ricevuto ancora più avvertimenti, alcuni dei quali dicevano library class org.xmlpull.v1.XmlPullParser depends on program class java.lang.String.

Ho provato ad aggiungere -dontskipnonpubliclibraryclasses, aggiungendo alcuni -dontwarn, ecc. Niente ha funzionato finora.

A un certo punto ho mantenuto un numero sufficiente di -dontwarn in modo che l'apk sia stato creato ma è appena stata visualizzata la schermata di accesso (1a attività) e una volta cliccato su un pulsante è rimasto bloccato lì.

Mi manca qualcosa di molto semplice, credo. Tutti questi giorni stavo testando con apk in modalità debug che funziona normalmente. Perché questo problema? Per favore aiuto!!

risposta

1

OK dopo un sacco di ricerche su google e ricerca all'interno dello stackoverflow , sono riuscito a ottenere una soluzione. Il seguente è il mio proguard-project.txt di file:

-libraryjars /libs/android-support-v4.jar 
-libraryjars /libs/apache-mime4j-core-0.7.2.jar 
-libraryjars /libs/gcm.jar 
-libraryjars /libs/httpclient-4.3.3.jar 
-libraryjars /libs/httpcore-4.3.2.jar 
-libraryjars /libs/httpmime-4.3.3.jar 
-libraryjars /libs/library.jar 
-libraryjars /libs/nineoldandroids-2.4.0.jar 

-keepnames class org.apache.** {*;} 
-keep public class org.apache.** {*;} 
-dontwarn org.apache.commons.** 
-dontwarn org.apache.http.annotation.ThreadSafe 
-dontwarn org.apache.http.annotation.Immutable 
-dontwarn org.apache.http.annotation.NotThreadSafe 
-dontwarn org.apache.http.impl.auth.GGSSchemeBase 
-dontwarn org.apache.http.impl.auth.KerberosScheme 
-dontwarn org.apache.http.impl.auth.NegotiateScheme 
-dontwarn org.apache.http.impl.auth.KerberosScheme 
-dontwarn org.apache.http.impl.auth.SPNegoScheme 
-dontwarn se.emilsjolander.stickylistheaders.StickyListHeadersListView 
-dontwarn android.net.http.AndroidHttpClient 

Speranza che aiuta gli altri, Grazie!