2010-01-12 10 views
7

Ho un progetto di eclissi Android solo per la libreria (nessuna classe principale, solo classi di libreria) che desidero includere nel mio progetto principale di applicazione Android.Inclusione di altri progetti Eclipse in un progetto di applicazione Android

Sono passato al percorso di generazione e aggiunto il progetto di libreria ai "Progetti richiesti sul percorso di generazione" nella scheda Progetti e controllato nella scheda "Ordine ed esportazione".

Tuttavia, quando viene eseguita l'applicazione, emette l'eccezione VerifyError, poiché la classe dal progetto della libreria non è stata raggruppata insieme nell'apk.

Qualsiasi soluzione a questo?

risposta

6

I progetti Android non vengono impacchettati, sfortunatamente. Se il progetto della tua biblioteca ha solo classi, non risorse, puoi renderlo un normale progetto Java. I progetti Java da cui dipende un progetto Android non vengono impacchettati.

Se il progetto di libreria utilizza classi specifiche Android, quando si crea un progetto Java è necessario aggiungere android.jar al percorso di generazione. Questo sarà "platform/android-1.6/android.jar" all'interno della directory dell'SDK se ad esempio è installata la piattaforma 1.6.

+0

Sei corretto. Se faccio in modo che la biblioteca progetti un progetto Java (al contrario del progetto Android), le classi vengono impacchettate. Grazie! – yuku

1

Ho avuto un problema simile (con l'eccezione VerifyError sul caricamento su un dispositivo) utilizzando Eclipse versione: 3.6.2. Avevo creato un progetto di libreria Android con alcune classi comuni per la condivisione, che dipendevano dalle classi di Android SDK. Invece di rendere il progetto di libreria andrloid un progetto java "normale", ho aggiunto il progetto di libreria come riferimento di libreria nella scheda Android delle proprietà dei progetti per i progetti che stavano utilizzando la libreria. Questo risolve l'eccezione di classe mancante.

3

Se la libreria è un normale progetto Java, il modo più semplice per includerlo in un progetto Android è utilizzare una cartella di origine collegata. Nel progetto dell'applicazione, vai a Configura percorso di costruzione | Fonte | Link Source ... Assegna alla cartella qualcosa come library-src e punta alla cartella src del progetto della libreria.

+0

Funziona! Ho cambiato il nome da "src" a "sth-src" e funziona. – 42n4

Problemi correlati