Firefox OS 的 WiFi 除錯功能

很高興能宣佈現已為 Firefox OS 加上 WiFi 除錯功能!只要在 Firefox Nightly 桌面版上搭配 Firefox OS 3.0 / master 即可使用。

WiFi 除錯功能,可讓 WebIDE 透過區域 WiFi 網路連上 Firefox OS 裝置,不再需要 USB 連接線。

與 USB 相較,WiFi 的連線經驗更為直覺 (特別是第一次連上某個裝置時),而且你也不再受限於連接線的長度。

背景

從 Firefox OS 的開發早期起,就一直是透過 USB 連接線對裝置除錯。但這其實有多個缺點:

  • 一定要有連接線才能除錯
  • 某些 OS 必須搭配驅動程式,但安裝之後也可能衍生其他問題
  • 在使用者進行測試時,連接線也讓手機除錯更為不易

行動裝置一旦受制於連接線,整個也就感覺沒那麼「行動」了。

所以我們想幫開發者工具加上某種 WiFi 存取形式,主要目標為:

  • 簡單易用
  • 安全連線

我們想讓此功能確實可用,但此一改良功能除了要能超越 USB 的限制之外,也要確認其安全無虞。由於除錯過程本身就會暴露許多活動細節 (包含潛在的隱私請求資料),若要使用共享的 WiFi 網路,安全性更是格外重要。如果你喜歡偶爾到星巴克點杯咖啡坐著當當文青,當然不會想讓其他陌生人取得自己的隱私資訊。

簡單性

在透過 WiFi 連線時,也可能同時有多組裝置正嘗試連上同一網路。為了避免此一問題,我們使用了類似「Bonjour」或「mDNS」的搜尋機制。只要你嘗試連線,電腦就會送出一組多點傳送 (Multicast) 的「ping」以尋找鄰近的裝置。鄰近裝置則會回傳自己的名稱與其所支援的服務。如此可取得簡易的裝置名稱清單,而不須再煩惱一堆 IP 位址。

設定過程即使用 Android 專案的 ADB;這也比 USB 來得好。透過 WiFi 除錯功能,就不用在 Windows 上安裝驅動程式或 udev 規則,即可於 Linux 進行設定。

安全性

此專案的大部分作業,都是有關連線安全性的除錯,以利大家能在共用網路 (例如辦公室或咖啡廳) 上安全使用。

我們將 TLS 用於加密與驗證作業。電腦與裝置都會建立自行簽署的憑證。只要你連上線,就會掃描一組 QR 碼以檢驗該憑證是否可信任。在連線期間,你可選擇是否要記憶此訊息,以利日後可立即完成連線。

使用方式

你需要:

  • Firefox 39 (或 2015-03-27 之後的更高版本)
  • Firefox OS 3.0 (或 2015-04-16 之後的更高版本)

Firefox OS 3.0 現在仍在開發階段,並無法從任何市面上的裝置取得。如果你手上有「Flame」裝置,則可透過 Nightly 版本將 Flame 升級為 3.0 / master。若是他款裝置,則可能必須從原始碼建構自己裝置的版本以更新之。

在 Firefox OS 上,啟動 WiFi 除錯功能:

  1. 找到裝置中的「開發者設定」(設定 → 開發者)
  2. 啟動「DevTools via Wi-Fi」
  3. 依需要編輯裝置名稱

fxos-wifi-opts

若要從 Firefox 桌面版連線:

  1. 在 Firefox Nightly 中開啟 WebIDE (工具 → 網頁開發者 → WebIDE)
  2. 點擊「選擇 Runtime (Select Runtime)」以開啟 Runtime 面板
  3. 你的 Firefox OS 裝置應該顯示在「WiFi Devices」區塊之中
  4. 而裝置上會出現是否連線的對話框,點擊「掃描 (Scan)」或「掃描並記憶 (Scan and Remember)」
  5. 掃描 WebIDE 所顯示的 QR 碼

webide-wifi-runtime

webide-qr-code

在掃描 QR 碼之後,QR 畫面隨即消失,而 WebIDE 中的「裝置」圖示就會轉為藍色代表「已連線」。

接著就像之前使用 USB 連接線,你同樣可存取所有的遠端 App 與瀏覽器分頁。而且一樣可使用所有的 Firefox 開發者工具,進行檢視與除錯。這真的是開發者工具在封包交換的一大改變,因此你所使用的工具也不再受限。

現可支援的裝置

此功能應該能支援所有 Firefox OS 裝置。目前我已在 Flame 與 Nexus 4 之上測試完成。

已知問題

QR 碼掃瞄器目前有點小問題,也就是擷取的圖黨解析度偏低。而 Bug 1145772 將可儘快解決此問題。你可用 Flame 嘗試以多個方向掃描。另外我建議選用「Scan and Remember」,如此只有第一次連線時需要掃描。

如果你在測試時發現其他問題,也歡迎提報錯誤或到 IRC 上通知我。

下一步

我接著想把此功能加入 Firefox for Android。還好,目前完成的大多數東西都能再接著使用。此外,我們應該更新如 node-firefox 的工具,以同樣透過 WiFi 連上其他裝置。往後亦可利用其中某些成品,讓Firefox 桌面版的瀏覽器工具箱 (Browser Toolbox) 更安全。

如果你還想到可添增的新功能,可提報錯誤或透過不同的溝通管道聯絡整個團隊。

 

 

原文連結:WiFi Debugging for Firefox OS

 

 

您可能也會喜歡

目前找不到相關文章

對此文章發表回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *