Ho un problema con le librerie Android.Come risolvere un conflitto di libreria (apache commons-codec)
Vorrei utilizzare il metodo Hex.encodeHexString (array di byte) dalla libreria org.apache.commons.codec.binary.Hex (versione 1.6)
Sul mio piattaforma Android (SDK 2.3.1), esiste già la versione 1.3 della libreria di codec comuni, ma il metodo non esiste ancora in questa versione (solo encodeHex()).
ho aggiunto la biblioteca barattolo di versione 1.6 nel mio progetto Eclipse (in/directory libs), ma quando ho eseguito il progetto su emulatore, ottengo questo:
E/AndroidRuntime(1632): FATAL EXCEPTION: main
E/AndroidRuntime(1632): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
Come posso indicare il sistema operativo in cui è la buona biblioteca?
Sto usando Eclipse Juno con Java 1.6.0 su Mac OS X
Ci dispiace per il mio cattivo inglese e grazie in anticipo!
MODIFICA: il problema potrebbe essere risolto apparentemente con lo strumento jarjar. http://code.google.com/p/google-http-java-client/issues/detail?id=75
Qualcuno potrebbe aiutarmi con questo strumento? Non so come creare un Manifest Ant o un file jar.
Grazie
Come hai detto, una soluzione per questo problema è usare jarjar per creare un nuovo jar che non sia in conflitto con le classi di Android. Una spiegazione + soluzione + vaso creato (che ha risolto il problema per me) - http://priyanka-tyagi.blogspot.co.il/2013/03/dealing-with-java-hell-using-jarjar.html (grazie a bianca che ci ha fatto risparmiare tempo ...) –