2013-09-22 7 views
6

Ho un progetto di libreria e un altro progetto che utilizza alcune classi dal progetto di libreria. Appena Io sono la creazione di un punto di rottura in una delle classi di libreria, e la mia app si ferma al punto di rottura, Eclipse mi mostra il messaggio di erroreIl jar di questo file di classe appartiene al contenitore "Dipendenze Android" che non consente modifiche di origine agli allegati di origine nelle sue voci

di origine non trovato

Il vaso di questo file di classe appartiene al contenitore 'Android dipendenze' che non consente modifiche source per gli allegati di origine sulle sue voci

qualcuno può aiutarmi?

the error message

+1

Questa non è la fonte della classe che si desidera eseguire il debug. Questo è un file .class che non è un file sorgente. –

risposta

18

ho trovato la risposta!

In qualche modo (non chiedermi il motivo) Eclipse ha incasinato il file del percorso di classe dei progetti di librerie. elencava le voci del percorso di classe "src" nell'ordine sbagliato (vedi allegato sotto).

sembra che solo la prima voce sia attualmente esportata in libraryproject.jar, che viene utilizzata dal mio progetto app. Pertanto, solo le fonti gen sono state allegate, e non le fonti nella directory src.

enter image description here

+0

ohh..interessante !! –

+1

È inoltre possibile modificare l'ordine all'interno della finestra di dialogo delle proprietà del progetto eclipse. Immagino di aver cambiato l'ordine lì per caso ... – stoefln

+0

Dove posso trovare quel documento? –

0

questo è stato un problema segnalato per ADT 17 e si può trovare una soluzione here

+0

Grazie. Ho provato a mettere un file library.jar.properties accanto al file library.jar che viene generato nella cartella bin del progetto della libreria. È lo stesso file jar a cui fa riferimento nel mio progetto app. Tuttavia, questo non ha aiutato affatto.Il contenuto del file delle proprietà è: src = ../src/ – stoefln

+0

Inoltre R20 (che dovrebbe risolvere il bug) è stato rilasciato l'anno scorso. Ho la versione più recente di tutti i componenti SDK, quindi non dovrei avere problemi con i progetti di libreria giusto? – stoefln

2

ho finalmente trovato la soluzione reale e più semplice a questa.

Se si dispone di una struttura complessa in cui un progetto di libreria utilizza una libreria e tale progetto di libreria viene utilizzato per il progetto e così via. O in ogni caso ... fare questo per risolvere questo problema:

Importare per eclissi la libreria che si desidera essere in grado di vedere il codice sorgente per il debug del processo.

Mark l'opzione è Libreria facendo clic destro del progetto> Proprieta> Android

poi andare a tutti i progetti di libreria che utilizza quella biblioteca, e fare clic destro del progetto> Proprieta> Android> Aggiungi> e selezionare il proprio biblioteca.

Quindi, andare al progetto e al progetto di libreria che si trova in Progetto> Proprietà> Android> Nome_struttura, fare clic su Rimuovi e aggiungerlo di nuovo, per poter assumere le modifiche nel progetto di libreria.

E questo è tutto. È solo utilizzare il progetto della libreria stessa invece di usare solo il jar della libreria che si desidera vedere il codice sorgente.

Per qualsiasi domanda con l'aiuto per l'implementazione di questo, scrivimi.

Problemi correlati