2011-11-09 10 views
6

Ho aggiornato a Ubuntu 11.10, Eclipse 3.7.0, ADT 14.0.0.Eclipse Android non pulirà, non aggiornerà le risorse

Quando ho sostituito una risorsa di immagine nella directory/res/drawable-nodpi sul desktop o una risorsa audio nella directory/res/raw, sia il programma ricompilato che Explorer di progetto utilizzano una versione precedentemente memorizzata nella cache.

Ho provato quanto segue, nessuno dei quali ha lavorato:

right-click on filename in project explorer: Refresh 
right-click on /drawable-nodpi dir in p.e.: Refresh 
right-click on /res dir in p.e.:    Refresh 
right-click on Project in p.e.:    Refresh 
Project -> Clean... 
Project -> check Build Automatically, Run->Run 

Il programma ricompila nuovo codice sorgente cambia in modo corretto, ma riutilizza le proprie risorse memorizzate nella cache. Si tratta di un progetto esistente che funzionava con Ubuntu 10.

Come soluzione temporanea, ho rinominato il file su disco; Cancellato il file in Eclipse Project Explorer; ripristinato il nome del file su disco; e quindi trascinato il file dal desktop nella cartella/res/drawable-nodpi in Project Explorer. Eclipse è tornato con un popup che chiedeva se volevo copiare o collegare il file in Eclipse. Ho scelto Link. Questo finalmente ha ottenuto la nuova versione delle risorse importate.

Aggiornamento: dopo che il codice sorgente che utilizzava queste immagini è stato modificato altrove, ha smesso di ricompilare, dicendo che R.drawable.mypicname non si riferiva più a nulla. Quindi le risorse collegate non sembrano essere affidabili dopo tutto. L'ultima soluzione è copiare manualmente il file sul desktop e incollarlo nella directory Eclipse ProjEx/res/drawable-nodpi. Questo ricompilato senza alcuna modifica del codice sorgente e funzionava sul dispositivo.

Sia Clean che Refresh non funzionano correttamente è un comportamento abbastanza inaspettato. Perché sta facendo questo? Che cosa sto facendo di sbagliato? Come posso impostare l'ambiente Eclipse in modo che quando cambio il file su disco, usi l'ultima versione corrente? O almeno mi permette di aggiornare? Grazie.

+0

Usa emacs e android/ant sulla riga di comando ... – Renaud

+0

Hai provato a disinstallare dal dispositivo? –

+0

Emacs lo so. Ant con cui non lavoro. Poiché Eclipse è un elemento grafico, non riesco a capire a cosa si riferisca "la linea di comando" in questo caso. Grazie. – DragonLord

risposta

1

Abilita il leggero "aggiornamento all'accesso" per mantenere lo spazio di lavoro sincronizzato con il filesystem.

Questa opzione in Eclipse è in Preferenze in Generale-> Area di lavoro come mostrato here.

+1

Su Mac OS, la preferenza è "Aggiorna all'accesso". – Noel

0

Nel mio caso, importare la 'R' errata in modo che Eclipse non possa trovare il file immagine corretto. prova cambia questo: import android.R; => import com.example.myfirstapp.R;

1

Cerca bin sulla tua applicazione. Probabilmente c'è una cartella chiamata res/crunch, quindi cerca il tuo drawable che non si aggiorna e aggiorna manualmente.

Problemi correlati