2010-04-22 15 views
15

Ho un progetto Java standard in cui ho scritto codice per analizzare alcuni dati XML di Radio BBC da Internet. Il progetto si chiama BBCSchedules e la classe che mi interessa è chiamata BBCChannel.Importazione di file .jar esterno su progetto Android

Ora sto cercando di utilizzare la classe BBCChannel in un'applicazione Android. Come dovrei andare a fare questo?

Ho provato varie cose, seguendo vari consigli su Internet, e il posto in cui mi trovo in questo momento sta compilando il mio progetto BBCSchedules in un file .jar, e importandolo nel progetto Android usando l'opzione Build Path/Library/Add External Jar. Tuttavia, Eclipse ancora non riconosce la classe BBCChannel e non mi consente di eseguire l'applicazione a causa di ciò.

Immagino di aver fatto qualcosa di stupido, ma che cos'è?

AGGIORNAMENTO: Ho provato i passaggi elencati in How can I use external JARs in an Android project? e varie altre domande StackOverflow che posso trovare che sembrano essere correlate a questo, ma assolutamente nulla sembra funzionare. Altre idee?

AGGIORNAMENTO: Le discussioni che ho avuto con l'autore della prima risposta di seguito suggeriscono che è qualcosa a che fare con come sto usando Eclipse per allegare il file .jar. Il progetto che mi ha inviato con il file .jar già allegato non ha funzionato. Qualche altra idea a qualcuno?

+0

Sei sicuro di aver impacchettato correttamente il tuo jar? Puoi usarlo su un semplice programma java di test dalla riga di comando? – systempuntoout

+0

Sì, funziona perfettamente con un programma di riga comandi java standard. – robintw

risposta

24

Inserire il JAR nella directory libs/ del progetto. Quindi Build Path -> Library -> Aggiungi JAR dovrebbe consentire di scegliere quello del tuo progetto. IIRC, funziona con Eclipse.

Se un giorno decidete di scaricare Eclipse, è sufficiente avere il vostro JAR nello libs/ - gli strumenti di compilazione della riga di comando lo rilevano automaticamente.

UPDATE: Se avete la R17 o versione più recente del plugin ADT Eclipse, ora avete solo bisogno di aggiungere una directory libs/ e mettere il vostro JAR in là. Sarà automaticamente aggiunto al tuo percorso di build, proprio come con le build da riga di comando.

+1

Grazie. Ho aggiunto il file .jar alla directory libs/e poi l'ho selezionato nel percorso di creazione in Eclipse, ma Eclipse sembra non riconoscere la classe BBCChannel e quindi non mi consente di compilare ed eseguire la mia applicazione. Altre idee? – robintw

+0

Sei sicuro che le tue lezioni siano pubbliche? – CommonsWare

+0

Sì, la mia classe è pubblica e funziona correttamente da un altro semplice programma di test da riga di comando. Non riesco a capire perché non funziona! Posso caricare i file da qualche parte se vuoi ... – robintw

1

Ecco quello che ho fatto, e ha funzionato:

  • pulsante destro del mouse sul progetto
  • costruire il percorso> Aggiungi archivi esterni
  • Selezionare l'archivio (.jar)

Il file library.jar verrà aggiunto alle "Biblioteche di riferimento" nel progetto, ma non nella cartella del progetto. Ora posso eseguire il mio progetto con quella libreria esterna e non ottengo errori, ma non so se è il solito modo di farlo. Il mio archivio non è nella cartella 'libs', come tutti. Dovresti provare quello che ho fatto.

1

Controllare la versione di jar e anche la versione di sistema Java. Se la versione di jar è compatibile con la versione di sistema verrà eseguita.

Inoltre, controllare il Jar eseguendo java -jar filename.jar al prompt dei comandi.

Successivamente, fare la stessa cosa menzionata nella versione precedente.

In caso contrario, passa il codice e il codice.

+0

Questo ha funzionato per me, grazie. Android Eclipse imposta java a livello di conformità 1.6 ma stavo creando un JAR di altre classi a livello di conformità 1.7, non appena ho impostato il mio altro progetto su 1.6 ed esportato il jar, tutto ha iniziato a funzionare. –

Problemi correlati