2012-05-03 133 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