2013-02-26 13 views
6

Vorrei integrare la mia app con una varietà di servizi di archiviazione di file. Ho seguito le istruzioni quickstart per il disco sdk di Drive, che aggiunge un sacco di jar alla directory libs dei miei progetti. Inoltre, l'SDK Dropbox richiede il seguente elenco di vasi:Un modo sicuro per risolvere i conflitti di dipendenza per Drive e Dropbox?

  • commons-logging-1.1.1.jar
  • set-android-sdk-1.5.3.jar
  • HttpClient-4.0.3. jar
  • httpcore-4.0.1.jar
  • httpmime-4.0.3.jar
  • json-simple-1.1.jar

Una volta che tutti questi si aggiungono al mio progetto, ottengo il seguente errore quando provo a fare funzionare:

Dex Loader] Impossibile eseguire dex: file DEX multipli definiscono Lorg/apache/http/ente/mime/FormBodyPart;

Se rimuovo il jar httpmime aggiunto per Dropbox, il mio progetto funziona correttamente. Ma questo è un modo sicuro per risolvere il conflitto? Esiste un metodo alternativo con il quale posso costruire il mio progetto e includere tutti i vasi necessari?

+0

È httpmine jarfile nell'altro SDK? –

risposta

0

Supponendo che non ci siano conflitti di versione, ciò funzionerebbe correttamente. Confronta httpmime-4.0.3.jar nel jar httpmime che Drive ha aggiunto alla tua directory libs. Se sono uguali, allora va bene. Se sono diversi, allora dovrai scoprire le differenze tra i due e assicurarti che non stiano rompendo i cambiamenti. Come ultima risorsa potresti anche riconfezionare uno degli SDK con la sua versione richiesta di httpmime in un barattolo offuscato selettivamente con ProGuard, anche se questo è un problema.

0

Se si sta sviluppando con Eclipse, è consigliabile utilizzare Google Plugin per Eclipse. Fornisce un modo per aggiungere l'SDK di Google alla tua app. Tutti i barattoli sono aggiunti automaticamente.

Problemi correlati