設定裝置端開發人員選項

Android 的「設定」應用程式包含「開發人員選項」畫面,您可以在此設定系統行為,以剖析應用程式效能並執行相關偵錯工作。舉例來說,您可以啟用 USB 偵錯和觸控位置視覺回應、擷取錯誤報告、讓整個視窗表層在更新時閃爍,以及使用 GPU 轉譯 2D 圖像等等。

啟用開發人員選項

在 Android 4.1 以下版本中,系統預設可使用「開發人員選項」畫面。在 Android 4.2 以上版本中,您必須啟用這個畫面。

注意:在某些裝置上,「開發人員選項」畫面的位置或名稱可能有所不同。

  1. 在裝置上找出「版本號碼」選項。下表列出各種裝置上「版本號碼」選項在設定中的位置:

    表 1:「版本號碼」選項在裝置設定中的位置

    裝置 設定

    Google Pixel

    「設定」>「關於手機」>「版本號碼」

    Samsung Galaxy S8 以後的機型

    「關於手機」>「關於手機」>「軟體資訊」>「版本號碼」

    LG G6 以後的機型

    「Settings」>「About phone」>「Software info」>「Build number」

    HTC U11 以後的機型

    「設定」>「關於」>「軟體資訊」>「更多」>「版本號碼」,或者「設定」>「系統」>「關於手機」>「軟體資訊」>「更多」>「版本號碼」

    OnePlus 5T 以後的機型

    「設定」>「關於手機」>「版本號碼」

  2. 輕觸「版本號碼」選項七次,直到畫面上顯示 You are now a developer! 訊息。這項操作會在裝置上啟用開發人員選項。

  3. 返回上一個畫面,然後在底部找到「開發人員選項」

圖 1:裝置端開發人員選項。

如圖 1 所示,您可以在「開發人員選項」畫面頂端啟用或停用這些選項。請將這個切換鈕保持開啟。如果此切換鈕設為關閉,除了不需在裝置與開發電腦之間通訊的選項外,大多數選項都會停用。

在裝置上啟用 USB 偵錯功能

開始使用偵錯等工具前,您需要啟用 USB 偵錯功能,才能讓 Android Studio 和其他 SDK 工具辨識以 USB 連接的裝置。

在裝置系統設定中,啟用「開發人員選項」下的「USB 偵錯」。這個選項的位置會因 Android 版本而異:

  • Android 9 (API 級別 28) 以上版本:「設定」>「系統」>「進階」>「開發人員選項」>「USB 偵錯」
  • Android 8.0.0 (API 級別 26) 和 Android 8.1.0 (API 級別 27):「設定」>「系統」>「開發人員選項」>「USB 偵錯」
  • 在 Android 7.1 (API 級別 25) 以下版本:「設定」>「開發人員選項」>「USB 偵錯」

一般選項

輕觸「開發人員快速設定方塊」,即可將所選開發人員選項加入「快速設定」面板。

選取一或多個可用的設定方塊 (如圖 2 所示) 後,請開啟「快速設定」面板並輕觸鉛筆圖示,進入編輯模式。接著將開發人員設定方塊從設定方塊窗格拖曳到「快速設定」面板中,然後再次輕觸鉛筆圖示,就能退出編輯模式。

圖 2:將選項加入「快速設定」面板。

其他一般選項包括:

  • 記憶體:顯示記憶體統計資料,例如記憶體平均用量、記憶體效能、可用的記憶體總量、平均用量百分比、可用的記憶體容量,以及應用程式的記憶體用量。
  • 取得錯誤報告:取得目前裝置的記錄檔副本,以便與他人分享。收到錯誤報告準備就緒的通知後,輕觸通知即可分享。
  • 系統 UI 示範模式:顯示一般的預設通知列,但不顯示通知或低電量警示,方便擷取簡潔的螢幕截圖。開啟「啟用示範模式」後,即可使用 adb 示範模式指令變更狀態列外觀。您也可以開啟「顯示示範模式」,隱藏通知及顯示預設狀態列。
  • 電腦備份密碼:設定備份密碼,即可在密碼保護下使用 adb 指令備份及還原裝置應用程式和資料。
  • 螢幕不休眠:將裝置設為在充電時不鎖定螢幕。
  • 啟用藍牙 HCI (主機控制器介面) 窺探記錄:使用儲存在 /sdcard/btsnoop_hci.log 的檔案擷取所有藍牙 HCI 封包。您可以擷取封包,然後利用 Wireshark 等程式分析資訊並進行疑難排解。

偵錯

圖 3:偵錯選項已啟用。

透過偵錯選項,您可以設定裝置端偵錯功能,並建立裝置與開發電腦之間的通訊。

啟用 USB 偵錯功能 (如圖 3 所示) 後,Android 裝置即可透過 Android Debug Bridge (adb) 與開發機器通訊。您必須先以「選取偵錯應用程式」選擇要偵錯的應用程式,才能使用「等待偵錯工具」選項。一旦啟用「等待偵錯工具」,所選應用程式就會等到偵錯工具附加完成後才執行。

其他偵錯選項包括:

  • 在裝置上永久儲存記錄器資料:選擇要在裝置上永久儲存的記錄訊息類型。選項包括「關閉」、「全部」、「無線電以外」和「僅限核心」。
  • 選取模擬位置應用程式:使用此選項即可模擬裝置的 GPS 位置,測試應用程式是否能在其他地區照常運作。如果要使用此選項,請下載並安裝全球衛星定位系統模擬位置應用程式。
  • 圖 4:查看屬性。

  • 啟用檢視屬性檢查:View 例項的 mAttributes 成員變數中儲存檢視屬性資訊,以便用於偵錯。您可以透過版面配置檢查器使用者介面存取屬性資訊,如圖 4 所示。如未啟用這個選項,就無法取得「Attributes」項目。
  • 啟用 GPU 偵錯圖層:適用於搭載 Android 9 (API 級別 28) 以上版本的裝置。啟用這個選項後,就能允許從本機裝置儲存空間載入 Vulkan 驗證層。詳情請參閱「Android 上的 Vulkan 驗證層」。

網路

圖 5:選取 USB 設定選項。

網路選項提供多種設定 Wi-Fi 及 DHCP 的方法。

輕觸「Select USB Configuration」,指定電腦辨識裝置的方式。如圖 5 所示,您可以設定裝置透過 USB 執行的作業,例如僅限充電、傳輸檔案 (媒體傳輸通訊協定)、傳輸圖片 (PTP)、在電腦上使用行動網際網路 (RNDIS),或者傳輸音訊或 MIDI 檔案。

輕觸「藍牙 AVRCP 版本」後,接著就能選取所需設定檔版本,用於控管裝置有權存取的藍牙 A/V 設備。

此外,如要詳細調整在裝置上播放音訊的方式,請輕觸並設定下列選項:

  • 藍牙音訊轉碼器:選擇以下任一轉碼器,調整裝置音質 (轉碼器):
    • SBC:將資料傳輸到藍牙音訊輸出裝置,例如耳罩式耳機和喇叭。
    • AAC:以相近的位元率,透過有線裝置提供比 MP3 更佳的音質。
    • aptX:透過高品質智慧型手機、喇叭、單件式環繞劇院、耳罩式耳機和平板電腦,以無線方式傳輸音訊。
    • aptX HD:運用高解析度串流技術,將音訊傳輸至藍牙裝置。
    • LDAC:透過無線連線提供優質的音樂聆聽體驗。
  • 啟用選用的轉碼器停用選用的轉碼器:如果已安裝其他轉碼器實作項目,可以使用這些選項啟用及停用轉碼器。
  • 藍牙音訊取樣率:選擇音訊轉碼器取樣率,調整每秒的音訊樣本數。取樣率越高,使用的資源就越多。
  • 藍牙音訊每單位樣本位元數:設定每個音訊樣本的資訊位元數。位元率越高,音質越好,但樣本檔案也會越大。
  • 藍牙音訊聲道模式:選取單聲道或立體聲。
  • 藍牙音訊 LDAC 轉碼器:對音效進行最佳化處理,以便提升音質、平衡音訊與連線品質、增進連線品質,或者採用自動調整的位元率來平衡音訊及連線品質。

以下清單說明其他設定 Wi-Fi 和 DHCP 的方式:

  • 無線螢幕分享認證:依據 Wi-Fi 聯盟制定的 Wi-Fi 螢幕分享規格,啟用無線螢幕分享認證的進階控制選項和設定。
  • 啟用 Wi‑Fi 詳細記錄設定:根據所連上每個無線網路 (SSID) 的相對接收信號強度 (RSSI),提升該網路的 Wi-Fi 記錄等級。若想進一步瞭解記錄,請參閱使用 Logcat 撰寫和檢視記錄
  • Wi-Fi 至行動數據轉換強化:如果信號低落,此選項可把數據連線交給行動網路,藉此加強 Wi-Fi 效率。

輸入

啟用「顯示觸控回應」,即可顯示您在螢幕上輕觸的位置。系統會在手指或觸控筆的位置顯示圓圈;如果您在螢幕上輕觸其他地方,這個圓圈也會隨之移動。在裝置上錄影時,輕觸位置視同指標。

圖 6:指標位置列。

啟用「指標位置」,即可在裝置上的指標 (輕觸) 位置顯示十字記號。如圖 6 所示,螢幕頂端會出現長條列,用於追蹤十字記號的座標。當您移動指標時,長條列中的座標會隨著十字記號的位置而改變,螢幕上也會畫出指標路徑。

繪圖

圖 7:使用者介面結構。

繪圖選項可提供應用程式使用者介面及運作方式的視覺化提示。

啟用「顯示版面配置界限」,即可顯示應用程式的裁剪界線、邊界,以及裝置上的其他使用者介面結構,如圖 7 所示。

其他繪圖選項包括:

  • 強制使用從右至左版面配置方向:強制將螢幕版面配置方向設為從右到左 (RTL) 或從左到右 (預設)。
  • 視窗動畫比例:設定視窗動畫播放速度,以便檢查不同速度下的效能。尺寸越小,速度越快。
  • 轉場動畫比例:設定轉場動畫播放速度,以便您用不同速度檢查效能。尺寸越小,速度越快。
  • 模擬次要顯示裝置:建立次要顯示裝置,作為裝置重疊使用。如要透過 Presentation API 支援其他顯示器,這個選項就能派上用場。詳情請參閱「次要顯示器」。

硬體加速轉譯

圖 8:綠色弱視色彩空間。

透過硬體加速轉譯選項,您可以運用 GPU、硬體層和多重取樣反鋸齒 (MSAA) 等硬體選項,針對目標硬體平台處理應用程式最佳化工作。

輕觸「模擬色彩空間」,即可變更整個裝置使用者介面的色彩配置。選項是以色盲類型命名,包括:

  • 已停用 (沒有模擬的色彩配置)
  • 全色盲 (限制色彩配置只包含黑色、白色和灰色)
  • 綠色弱視 (影響紅色和綠色的顯示方式)
  • 紅色弱視 (影響紅色和綠色的顯示方式)
  • 藍色弱視 (影響藍色和黃色的顯示方式)
紅色弱視是指無法清楚辨識紅色的紅綠色盲,而綠色弱視 (如圖 8 所示) 是指無法清楚辨識綠色的紅綠色盲。

如果您在模擬色彩空間中擷取螢幕截圖,圖片會正常顯示未變更色彩配置的情況。

以下是運用硬體選項的其他方式:

  • 設定 GPU 轉譯器:將預設 OpenGL 繪圖引擎變更為 OpenGL Skia 繪圖引擎。
  • 強制使用 GPU 轉譯:如果應用程式在編寫時未預設採用 GPU 轉譯,就強制應用程式以 GPU 進行 2D 繪圖。
  • 顯示 GPU 畫面更新:顯示螢幕上使用 GPU 繪製的所有元素。
  • 針對 GPU 過度繪製情形進行偵錯:在裝置上顯示色彩編碼,以便您清楚辨認同一個像素在同樣的頁框中繪製了幾次。經過視覺化之後,可以瞭解應用程式是否有額外進行不必要的轉譯。詳情請參閱以視覺化方式呈現 GPU 重複繪圖
  • 針對非矩形裁剪操作進行偵錯:關閉畫布裁剪區域,以便建立罕見 (非方形) 的畫布區域。一般來說,剪裁區域會防止在圓形剪裁區域的邊界之外繪圖。
  • 強制 4x MSAA:在 OpenGL ES 2.0 應用程式中啟用多重取樣反鋸齒 (MSAA)。
  • 停用硬體重疊圖層:請注意,若使用重疊圖層,可讓在螢幕上顯示內容的應用程式占用較少處理效能。如果不使用重疊圖層,應用程式將共用視訊記憶體,而且必須持續檢查衝突和裁剪情形,才能轉譯適當圖像。這項檢查程序會耗費大量處理效能。

媒體

設定開啟停用 USB 音訊路由,以便停用自動傳送到透過 USB 連接埠連接到電腦的外部音訊裝置路由功能。自動路由功能可能干擾會偵測 USB 的應用程式。

在 Android 11 以上版本中,如果應用程式沒有 RECORD_AUDIO 權限,並使用 UsbManager 要求直接存取具備音訊擷取功能的 USB 音訊裝置 (例如 USB 耳機),畫面上會出現警示訊息,要求使用者確認授予裝置使用權限。系統會忽略所有「一律使用」選項,因此每當應用程式要求存取權時,使用者都必須確認警示訊息並授予權限。為了避免這個行為,應用程式應該要求 RECORD_AUDIO 權限。

監控

圖 9:以長條圖顯示 GPU 轉譯剖析資料。

監控選項可透過視覺化的方式提供應用程式效能資訊,例如長時間執行緒和 GPU 作業。

依序輕觸「剖析 GPU 轉譯」和「在螢幕上顯示長條圖」,就能以長條圖顯示 GPU 轉譯剖析資料,如圖 9 所示。詳情請參閱「剖析 GPU 轉譯速度」。

應用程式

圖 10:設定背景處理程序限制。

透過應用程式選項,您可以瞭解應用程式在目標裝置上的運作情形。

輕觸「背景處理程序限制」,即可設定一次能在背景執行多少處理程序。可能使用的設定如圖 10 所示。

在測試期間輕觸「Reset ShortcutManager rate-limiting」,讓背景應用程式可以繼續呼叫快捷 API,直到再度達到頻率限制為止。若要進一步瞭解快速指令和頻率限制,請參閱 ShortcutManager

啟用「Don't keep activities」可在使用者退出該活動的主要檢視畫面後立即刪除活動,藉此延長電池壽命。