Ответ 1
Сам эмулятор не поддерживает hotswap-код, но с дополнительными инструментами, такими как InstaReloader, может быть достигнуто желаемое действие. Вы можете бесплатно использовать Android hotswapping
1) Существуют ли какие-либо специальные настройки/настройки, необходимые для включения отладки с возможностью "горячей" замены на Android?
Пример:
2) Поддерживает ли только эмулятор поддержку горячей замены? Есть ли телефоны, которые также поддерживают его?
Сам эмулятор не поддерживает hotswap-код, но с дополнительными инструментами, такими как InstaReloader, может быть достигнуто желаемое действие. Вы можете бесплатно использовать Android hotswapping
Каждый раз, когда проект Android строится, он дешифруется и помещается в apg-debug-apk, который отправляется на ваш телефон/эмулятор. Следовательно, hotswapping не так просто сделать.
Hotswap - продукт хорошо продуманного JVM, и он позволяет обмениваться классами. На Android у вас есть Dalvik VM, который в настоящее время не поддерживает горячую замену.
Я предполагаю, что команда ADT имеет этот высокий уровень в своем списке.
РЕДАКТОР: Несмотря на то, что прошло уже 2,5 года после этого ответа, мало что изменилось. Однако у ZeroTurnaround есть свои рукава, и JRebel для Android должен дать нам очень необходимый метод горячей замены. http://zeroturnaround.com/software/jrebel-for-android/
EDIT2: С выпуском Android Studio 2.0 Instant Run вы можете выполнить "горячую" замену. Горячая замена приведет к изменению класса во время работы вашего приложения.
Они также поддерживают теплый обмен, который делает гораздо больше, чем горячую замену с точки зрения возиться с вашим приложением. Теплый обмен все еще оставляет ваше приложение. Изменения ресурса вызовут теплый обмен.
Смотрите этот разговор от Android Dev Summit 2015 для получения дополнительной информации: https://www.youtube.com/watch?v=fs0eira2pRY
В предварительном просмотре Android Studio 2.0 появилась функция "горячей замены". Вы получите его, обновив до:
classpath group: 'com.android.tools.build', name: 'gradle', version: '2.0.0-alpha1'
И затем установите его из меню:
Не по-настоящему горячая замена, но в Github есть библиотека, которая имитирует это. Вы можете найти его здесь: https://github.com/mmin18/LayoutCast
У него есть некоторые проблемы, но он активен с момента написания этого ответа.
Кроме того, ZeroTurnaround, похоже, работает над проблемой с JRebel для Android. Вы можете запросить бета-доступ здесь: http://zeroturnaround.com/software/jrebel-for-android/