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進行連線。
在手錶上開啟開發者模式
在進行手錶上除錯之前,你需要開啟手錶上的開發者模式。這一步操作只需要執行一次。開發者模式將會一直生效,直到你關閉了它。
- 進入手錶的
設定(Settings)
選項 - 點選
系統(System) > 關於(About)
- 滑動到
構建號(Build number)
一欄,點選7次(注:但在Pacewear上筆者點選了不止7次) - 此時會有一個提示提醒你,開發者模式已開啟
通過WIFI進行除錯
進行下一步操作之前,請確保已經在手錶上開啟了開發者模式。
連線手錶到WIFI網路
- 進入手錶的
設定(Setting)
選項 - 點選
連線(Connectivity) > Wi-Fi
- 選擇一個無線網路進行連線(可能需要輸入密碼)
注意:你的手錶和你的開發機必須連線到同一個網路。並非所有的接入點都是合適的,你可能需要使用一個防火牆配置成能夠支援adb的接入點。
啟用Wi-Fi除錯
- 開啟手錶的
設定(Settings)
選項 - 點選
開發者選項 > 通過Wi-Fi除錯
- 稍等一會,螢幕上會顯示手錶的IP地址(如:192.168.1.100)。記下這個IP地址,下一步操作將會用到它。
連線偵錯程式到手錶
- 確認你的手錶和你的開發機連線到了同一個網路
- 通過手錶的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除錯
- 開啟手機的
設定
選單 - 選擇
開發者選項
,然後啟用USB除錯
啟用手錶上的ADB/藍芽除錯
- 開啟手錶的
設定(Settings)
- 滑動至
開發者選項(Developer Options)
- 確認啟用了
ADB除錯
- 啟用
通過藍芽進行除錯
啟用手機上的藍芽除錯
- 在手機上開啟Android Wear 配套應用
- 點選設定按鈕
- 啟用
通過藍芽進行除錯
選項。選項下方會顯示狀態資訊,類似這樣:Host: disconnected Target: connected複製程式碼
此時,開發機(Host)還沒和手錶(Target)進行通訊。你需要完成整個連線過程。
筆者注:Android Wear 配套應用並沒有隨著Android系統附帶在手機上,需要自行下載。在Google Play上,這個程式叫
Android Wear
,釋出者為Google。國內使用者推薦使用豌豆莢,搜尋Android Wear
進行下載。
連線偵錯程式到手錶
在這最後一步,你將會用上上述步驟中準備好的一切:偵錯程式、手機以及手錶。
- 使用USB線連線手機和開發機
在偵錯程式上執行下面兩條指令:
adb forward tcp:4444 localabstract:/adb-hub adb connect 127.0.0.1:4444複製程式碼
注意:你必須使用
127.0.0.1
這個IP地址。而埠號可以任意指定一個開發機上可用的埠號。另外,你需要確保兩條指令裡使用的埠號是一致的。(在這個例子裡,埠號設為4444)執行了這兩條指令,此時手錶上將會提示你是否允許
ADB除錯
檢視手機,檢視手機上的Android Wear配套應用中顯示的狀態資訊。此時狀態資訊應該類似這樣:
Host: connected Target: connected複製程式碼
此時手錶已經連線上偵錯程式,可以開始我們的除錯了。
當你通過藍芽來除錯手錶應用,adb將一直使用127.0.0.1:你指定的埠號
來傳送指令到手錶上。即所有的adb命令格式將類似這樣(依照上面的例子,埠號為4444):
adb -s 127.0.0.1:4444 <command>複製程式碼
如果你沒有使用模擬器,且只有一臺裝置連線到了偵錯程式,此時可以省去指定地址的部分:
adb <command>複製程式碼