2012-05-03 96 views
18

1)在Android上启用热插拔调试是否需要特殊设置/配置?使用Android进行热插拔调试

例案例:刚进入活动的onCreate方法之后

  • 添加断点。
  • 添加的断点后飞新线(虚拟“如果(1 == 1)回报;”代码)
  • 步骤下一条指令 - >问题:我的调试器不会在这条线断,相反,跳到下一个领导我相信新线路不会热插入虚拟机。

2)只有模拟器支持热插拔吗?有没有支持它的手机?

回答

6

模拟器像InstaReloader期望可以实现动作本身不支持热插拔的代码,但与其他工具。您可以免费使用这个Android hotswapping tool

+3

发生了什么事该项目? –

+0

链接似乎已死 - 网站已过期。 – Pang

21

每次构建Android项目时,它都会被分解并放入调试签名的apk中,并发送到您的手机/模拟器。因此,hotswapping并不是很容易做到。

Hotswap是精心设计的JVM的产品,它可以交换类。在Android上,您有Dalvik VM,它目前不支持热插拔。

虽然,我猜ADT团队在他们的名单上有这个高分。

编辑:即使它已经2。5年以来,这个答案,没有太大的变化。然而,ZeroTurnaround已经塞满了他们的袖子,而JRebel for Android应该为我们提供一个非常需要的热插拔方法。 http://zeroturnaround.com/software/jrebel-for-android/

编辑2:随着Android Studio 2.0 Instant Run的发布,您可以进行热插拔。热插拔将在您的应用程序运行时改变课程。

他们还支持热插拔,这比热插拔做法要多得多,因为它会混淆你的应用。热交换仍然会让您的应用程序运行。资源更改将触发温和交换。

关注此谈话从Android开发峰会2015年更多信息:https://www.youtube.com/watch?v=fs0eira2pRY

8

Android Studio 2.0预览引入了热插拔功能。您可以通过升级来获得它:

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

然后从菜单中设置它:

enter image description here