2009-04-08 14 views
52

¿Hay alguna forma de volver a cargar una aplicación de Android en el emulador sin cerrar el emulador, guardar los cambios de código y ejecutar el emulador nuevamente? Si hago un simple cambio en el diseño, se tardan unos 30 segundos en ejecutar Eclipse y Android, y puedo desbloquear el emulador para ejecutar la aplicación. ¿Hay alguna manera de acortar este tiempo al hacer cambios, o es algo con lo que tengo que lidiar?¿Volver a cargar la aplicación de Android en el emulador sin reiniciar el emulador en Eclipse?

Respuesta

55

El emulador de Android se puede instalar en caliente. Una vez que guarde y haga clic en 'run' (suponiendo que no haya errores de compilación) se empaquetará y volverá a implementarse en el emulador, que luego reiniciará la aplicación para ejecutar la nueva versión. Lo mismo es cierto si tiene un teléfono Android Developer conectado a través de USB.

Si aparece el mensaje "Advertencia: la actividad no se inició, su tarea actual se ha puesto al frente", ayuda a cerrar/mover desde la parte delantera de la aplicación en ejecución en el emulador presionando el botón Atrás. Parece que Android no sobrescribe la aplicación en ejecución en este caso.

+0

dar la vuelta sigue siendo lento, pero debería ser mucho más rápido que los 30 segundos que está tratando. –

+4

¿Es esto realmente correcto? En la consola veo el mensaje: Advertencia: actividad no iniciada, su tarea actual ha sido llevada al frente. – EtienneSky

+3

Upate a mi entrada anterior; Creo que si presionas el botón Atrás y vuelves a la pantalla de inicio, se volverá a cargar. Simplemente implementarlo encima de la aplicación en ejecución podría darle un mensaje como: ActivityManager: Advertencia: Actividad no iniciada, su tarea actual se ha puesto al frente – EtienneSky

1

en lugar de ejecutar desde eclipse, utilice los siguientes archivos de proceso por lotes en el directorio del proyecto para instalar y desinstalar el apk. Esos funcionan bien y rápido.

Install.bat

cd bin 
adb install *.apk 

Uninstall.bat

adb uninstall this.is.package.name 
+1

Eso es más lento, requiere un nuevo script para cada proyecto, y no es automático, como lo es ejecutar desde Eclipse. –

+0

sí ... la secuencia de comandos de instalación debe ser nueva para cada proyecto ... pero el script de instalación es genérico. y funciona rápido para mí que eclipse ... puede ser mi eclipse, ya que lo tengo cargado ... :) –

+1

_adb install -r * .apk_ reinstala la aplicación conservando sus datos y sin necesidad de desinstalarlo primero –

21

En Eclipse vaya a Ejecutar -> Configuración Ejecutar ...

Para la primera vez que se necesita establecer la siguiente opción resaltada porque ya no tiene ningún emulador en ejecución. enter image description here

Después de la primera ejecución ahora tiene un emulador en ejecución. Ahora bien, cuando se realiza un cambio de nuevo vaya a Ejecutar -> Configuración Ejecutar ...

y establezca las siguientes opción resaltada: enter image description here

Ahora el emulador ya se está ejecutando se utilizará cada vez que relanzar su aplicación y lleva menos tiempo.

Nota: Cada vez antes de pulsar el botón de Run pulse el botón volver en el emulador de una vez. Entonces, su aplicación ya no se ejecuta en el emulador. De lo contrario, es posible que aparezca la siguiente advertencia:

Advertencia: Actividad no se ha iniciado, su tarea actual se ha traído al frente

+1

This debería ser la respuesta aceptada –

+1

Especialmente el aviso acerca de que tiene que salir de la aplicación en ejecución en el emulador al presionar hacia atrás me ayudó mucho. –

3

Ya se les ha dicho que no es necesario reiniciar el emulador, pero ahora con Android Studio 2.0 ni siquiera necesita reiniciar su aplicación. Tiene una nueva característica llamada Instant Run que le permite actualizar su aplicación sin tener que reiniciarla.

sólo tiene que activar en Preferencias:

enter image description here

y ejecute:

enter image description here

Más información en este link.

0

Si llegué a esta pregunta, me imagino que más voluntad (aunque hace años).

Pulse en R dos veces.

Cuestiones relacionadas