2011-11-09 15 views
6

Actualicé a Ubuntu 11.10, Eclipse 3.7.0, ADT 14.0.0.Eclipse Android no se limpiará, no actualizará los recursos

Cuando reemplacé un recurso de imagen en el directorio/res/drawable-nodpi en el escritorio, o un recurso de sonido en el directorio/res/raw, tanto el programa recompilado como el Explorador de proyectos utilizan alguna versión previamente almacenada en caché.

He intentado lo siguiente, ninguno de los cuales trabajó:

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 

El programa vuelve a compilar código fuente nuevo cambia correctamente, pero reutiliza sus propios recursos almacenados en caché. Esto es con un proyecto existente que solía funcionar en Ubuntu 10.

Como solución alternativa, cambié el nombre del archivo en el disco; Se eliminó el archivo en Eclipse Project Explorer; restauró el nombre del archivo en el disco; y luego arrastró el archivo desde el escritorio a la carpeta/res/drawable-nodpi en el Explorador de proyectos. Eclipse regresó con una ventana emergente preguntándome si quería copiar o vincular el archivo en Eclipse. Elegí Enlace. Esto finalmente obtuvo la nueva versión de los recursos importados.

Actualización: Después de que el código fuente que usó estas imágenes se modificó en otro lugar, dejó de compilarse, diciendo que R.drawable.mypicname ya no hace referencia a nada. Entonces, los recursos vinculados no parecen ser confiables después de todo. La última solución es copiar manualmente el archivo en el escritorio y pegarlo en el directorio Eclipse ProjEx/res/drawable-nodpi. Esto se compiló sin ningún cambio en el código fuente y se ejecutó en el dispositivo.

Limpiar y actualizar no funciona correctamente es un comportamiento bastante inesperado. ¿Por qué está haciendo esto? ¿Qué estoy haciendo mal? ¿Cómo puedo configurar el entorno de Eclipse para que cuando cambie el archivo en el disco, use la última versión actual? ¿O al menos me permite refrescarme? Gracias.

+0

Use emacs y android/ant en la línea de comandos ... – Renaud

+0

¿Ha intentado desinstalar desde el dispositivo? –

+0

Emacs lo sé. Hormiga con la que no trabajo. Como Eclipse es un env gráfico de desarrollo, no entiendo a qué se refiere "la línea de comando" en este caso. Gracias. – DragonLord

Respuesta

1

Habilite el "acceso de actualización ligero" para mantener el espacio de trabajo sincronizado con el sistema de archivos.

Esta opción en Eclipse está en Preferencias en General-> Espacio de trabajo como se muestra here.

+1

En Mac OS, la preferencia es "Actualizar en acceso". – Noel

0

En mi caso, importo la "R" incorrecta para que el eclipse no pueda encontrar el archivo de imagen correcto. intente cambiar esto: import android.R; => import com.example.myfirstapp.R;

1

Busque bin en su aplicación. Probablemente haya una carpeta llamada res/crunch, por lo que busque su dibujable que no sea refrescante y renueve manualmente.

Cuestiones relacionadas