如何除錯Android Wear 應用

Geedio發表於2017-09-01

Android Wear 應用除錯

tags: AndroidWear


本文譯自Google文件,僅供個人學習、記錄、參考。如有紕漏,還請評論指出。

另注:不得不說Android Wear生態相當薄弱。就連開發者社群都毫無波瀾。筆者入手了一塊Pacewear智慧手錶,系統版本為Android Wear 1.x,故著眼於1.x版本更多點。不過似乎國內也沒有看到有Android Wear 2.x的手錶吧?勘誤:華為手錶支援Android Wear 2.0

原文地址:Debugging an Android Wear App

開發者可以通過本文介紹的方法,通過WIFI或藍芽來連線開發機和裝置。如果裝置有USB口,也可通過USB進行連線

在手錶上開啟開發者模式

在進行手錶上除錯之前,你需要開啟手錶上的開發者模式。這一步操作只需要執行一次。開發者模式將會一直生效,直到你關閉了它。

  1. 進入手錶的設定(Settings)選項
  2. 點選系統(System) > 關於(About)
  3. 滑動到構建號(Build number)一欄,點選7次(注:但在Pacewear上筆者點選了不止7次)
  4. 此時會有一個提示提醒你,開發者模式已開啟

通過WIFI進行除錯

進行下一步操作之前,請確保已經在手錶上開啟了開發者模式。

連線手錶到WIFI網路

  1. 進入手錶的設定(Setting)選項
  2. 點選連線(Connectivity) > Wi-Fi
  3. 選擇一個無線網路進行連線(可能需要輸入密碼)

注意:你的手錶和你的開發機必須連線到同一個網路。並非所有的接入點都是合適的,你可能需要使用一個防火牆配置成能夠支援adb的接入點。

啟用Wi-Fi除錯

  1. 開啟手錶的設定(Settings)選項
  2. 點選開發者選項 > 通過Wi-Fi除錯
  3. 稍等一會,螢幕上會顯示手錶的IP地址(如:192.168.1.100)。記下這個IP地址,下一步操作將會用到它。

連線偵錯程式到手錶

  1. 確認你的手錶和你的開發機連線到了同一個網路
  2. 通過手錶的IP地址,讓偵錯程式連線到手錶。假設IP地址為192.168.1.100,adb的連線命令和返回結果將像這樣(埠號5555新增在地址後面):
    adb connect 192.168.1.100
    connected to 192.168.1.100:5555複製程式碼

此時,手錶已經和偵錯程式連線,可以開始進行除錯了。使用-s標記,指定手錶的IP地址和埠來傳送adb命令到手錶上:

adb -s 192.168.1.100:5555 <command>複製程式碼

如果你沒有使用模擬器,且只有一個裝置連線除錯,那麼可以省卻-s標記。

adb <command>複製程式碼

通過藍芽進行除錯

藍芽除錯功能只在Android配對手錶上可用。進行下一步之前,確保手錶和手機已經配對,且在手錶上開啟了開發者模式。同時,手機也需要開啟開發者模式。開啟手機上的開發者模式,開啟手機上的設定選單,選擇關於手機,點選構建號7次即可。

啟用手機的USB除錯

  1. 開啟手機的設定選單
  2. 選擇開發者選項,然後啟用USB除錯

啟用手錶上的ADB/藍芽除錯

  1. 開啟手錶的設定(Settings)
  2. 滑動至開發者選項(Developer Options)
  3. 確認啟用了ADB除錯
  4. 啟用通過藍芽進行除錯

啟用手機上的藍芽除錯

  1. 在手機上開啟Android Wear 配套應用
  2. 點選設定按鈕
  3. 啟用通過藍芽進行除錯選項。選項下方會顯示狀態資訊,類似這樣:
    Host: disconnected
    Target: connected複製程式碼

此時,開發機(Host)還沒和手錶(Target)進行通訊。你需要完成整個連線過程。

筆者注:Android Wear 配套應用並沒有隨著Android系統附帶在手機上,需要自行下載。在Google Play上,這個程式叫Android Wear,釋出者為Google。國內使用者推薦使用豌豆莢,搜尋Android Wear進行下載。

連線偵錯程式到手錶

在這最後一步,你將會用上上述步驟中準備好的一切:偵錯程式、手機以及手錶。

  1. 使用USB線連線手機和開發機
  2. 在偵錯程式上執行下面兩條指令:

     adb forward tcp:4444 localabstract:/adb-hub
     adb connect 127.0.0.1:4444複製程式碼

    注意:你必須使用127.0.0.1這個IP地址。而埠號可以任意指定一個開發機上可用的埠號。另外,你需要確保兩條指令裡使用的埠號是一致的。(在這個例子裡,埠號設為4444)

  3. 執行了這兩條指令,此時手錶上將會提示你是否允許ADB除錯

  4. 檢視手機,檢視手機上的Android Wear配套應用中顯示的狀態資訊。此時狀態資訊應該類似這樣:

     Host: connected
     Target: connected複製程式碼

此時手錶已經連線上偵錯程式,可以開始我們的除錯了。

當你通過藍芽來除錯手錶應用,adb將一直使用127.0.0.1:你指定的埠號來傳送指令到手錶上。即所有的adb命令格式將類似這樣(依照上面的例子,埠號為4444):

adb -s 127.0.0.1:4444 <command>複製程式碼

如果你沒有使用模擬器,且只有一臺裝置連線到了偵錯程式,此時可以省去指定地址的部分:

adb <command>複製程式碼

相關文章