Android: ¿Cómo debo responder al diálogo "Hot Code Replace Failed" en Eclipse?
Cuando mi aplicación Android ya se está ejecutando y cambio el código obtengo el cuadro de diálogo "Hot Code Replace Failed".
-
Me pregunto cuál es la respuesta correcta (finalizar o desconectar) si quiero que Eclipse actualice mi código en el dispositivo cuando lo encuentre.
- Servicio que no se está creando (o que se conecta) después de bindService ()
- Importar proyecto Android existente en Eclipse: ¿no hay una carpeta de origen gen?
- ¿Cómo solucionar este problema de dependencia de Android Project?
- Java.lang.IllegalArgumentException: AppCompat no admite las características del tema actual
- Aapt no se encuentra bajo el camino correcto
-
¿Cuál es la diferencia entre terminar y desconectar?
-
Además, me pregunto si hago clic en el mensaje "No mostrar error cuando no se admite el reemplazo de código en caliente". ¿Qué hará Eclipse en el futuro cuando se produzca este escenario?
- Raw no se puede resolver o no es un error de campo (Eclipse / Android / Java)
- Problemas de depuración (Android Eclipse)
- Google Maps v2 en el Android Studio. No se encontró GeoPoint
- R no se puede resolver a una variable (nuevo proyecto androide)
- Exportar un proyecto eclipse como gradle
- Cómo resolver "ADVERTENCIA: La aplicación no especifica un requisito de nivel de API"?
- No se pudo obtener el número de versión de ADT
- Dispositivo no detectado en Eclipse cuando está conectado con el cable USB
Dependiendo de la VM utilizada (Dalvik en este caso), algunos cambios de código pueden realizarse durante la depuración que se 'hot deploy' o 'hot replace'. Esto significa que los cambios de código tendrán efecto inmediatamente en el emulador y podrá probarlos sin necesidad de volver a implementar la aplicación. Este tipo de re-implementación en caliente se utiliza más comúnmente cuando se trabaja con aplicaciones empresariales que pueden tardar 10 minutos en generar y desplegar, por lo que se pierde mucho tiempo durante el desarrollo.
La VM HotSpot (la VM que se utiliza normalmente en las PC) sólo permite el reemplazo de código simple y falla si intenta agregar / cambiar el nombre de un miembro o método de campo. No estoy seguro de qué tipo de soporte de la VM Dalvik proporciona, pero si realiza un cambio que no es compatible, obtendrá ese cuadro de diálogo.
Ahora, en cuanto a los botones:
- Continuar: Acepte que los cambios que ha realizado no surtirán efecto inmediatamente en el emulador y seguirá depurando
- Terminar: eliminar la aplicación
- Desconectar: no destruya la aplicación, pero termine la sesión de depuración (es decir, desconecte el depurador)
Si marca la casilla, siempre continuará.
Me pregunto cuál es la respuesta correcta (finalizar o desconectar) si quiero que Eclipse actualice mi código en el dispositivo cuando lo encuentre.
No hay manera directa de tener Eclipse actualizar su código en ejecución en el emulador cuando se encuentra este diálogo como la VM Dalvik no suppot hot swap, es decir, la actualización de código en ejecución. Tendrá que volver a implementar la aplicación en su emulador manualmente.
¿Cuál es la diferencia entre terminar y desconectar?
-
Terminate terminará la aplicación que se está depurando en el emulador / dispositivo.
-
Desconectar sólo desconectará el depurador y dejará la aplicación en ejecución en el emulador / dispositivo.
Además, me pregunto si hago clic en el mensaje "No mostrar error cuando no se admite el reemplazo de código en caliente". ¿Qué hará Eclipse en el futuro cuando se produzca este escenario?
"No mostrará el error cuando el reemplazo de código en caliente no es compatible"; obviamente;) – es decir, no le avisará y cualquier cambio que haga no será intercambiado en caliente en la aplicación en ejecución (porque la VM Dalvik no Soporte hot-swapping como JVM de Oracle por ejemplo).
Normalmente termino y vuelvo a publicar mi aplicación con el código modificado.
- ¿Cómo alinear ImageView a la parte inferior, llenar su ancho y altura, y mantener su relación de aspecto?
- Java La importación com.google no se puede resolver