2012-05-03 17 views
18

1) ¿Se requiere alguna configuración/configuración especial para habilitar la depuración de intercambio en caliente en Android?Depuración de intercambio en caliente con Android

caso Ejemplo:

  • Añadir punto de interrupción justo después de entrar método onCreate de actividad.
  • Añadir nueva línea sobre la marcha después de que el punto de ruptura (ficticio "si (1 == 1) return;" código)
  • Paso a la siguiente instrucción -> Problema: mi depurador no se rompe a esta línea, en vez de saltar a la siguiente, me lleva a creer que la nueva línea no fue intercambiada en caliente en la máquina virtual.

2) ¿Solo el emulador admite intercambio en caliente? ¿Hay teléfonos que también lo admiten?

Respuesta

6

El emulador en sí no es compatible con código de intercambio en caliente, pero con herramientas adicionales como InstaReloader desea una acción que puede lograrse. Puede utilizar este Android hotswapping tool gratis

+3

¿Qué pasó con ese proyecto? –

+0

El enlace parece estar muerto: el sitio ha caducado. – Pang

21

Cada vez que se crea el proyecto de Android, se dexan y se envían a una aplicación firmada con debug que se envía a su teléfono/emulador. Por lo tanto, hotswapping no es exactamente fácil de hacer.

Hotswap es un producto de una JVM bien diseñada que posibilita el intercambio de clases. En Android, tienes Dalvik VM, que actualmente no es compatible con el intercambio en caliente.

Supongo que el equipo de ADT tiene este alto-ish en su lista, sin embargo.

EDITAR: A pesar de que han pasado 2,5 años desde esta respuesta, no mucho ha cambiado. ZeroTurnaround, sin embargo, tiene cosas en la manga, y JRebel para Android debería darnos un método muy necesario para el intercambio en caliente. http://zeroturnaround.com/software/jrebel-for-android/

Edit2: Con el lanzamiento de Android Studio 2.0 Ejecución instantánea que permite intercambiar bajo tensión. Intercambio en caliente, es decir, cambiar una clase mientras su aplicación se está ejecutando.

También apoyan intercambio en templado, que está haciendo mucho más de intercambio en caliente en términos de jugar con su aplicación. Warm swap aún deja tu aplicación en ejecución. Los cambios de recursos desencadenarán un intercambio cálido.

reloj esta charla desde Android Dev Cumbre 2015 para más información: https://www.youtube.com/watch?v=fs0eira2pRY

8

La vista previa de Android Studio 2.0 introdujo una función de intercambio en caliente.Usted lo consigue mediante la actualización a:

 classpath group: 'com.android.tools.build', name: 'gradle', version: '2.0.0-alpha1' 

, y luego poner en el menú:

enter image description here

Cuestiones relacionadas