另外,有些新增加的 Android 裝置之 USB 辨認碼,也一併整理一下。只要依照下面這幾個步驟,就可以自動偵測了:
一、編輯「設備管理器」的規則設定
先切換成 root 身份,並用熟悉的『文字編輯器』編輯在目錄路俓『/etc/udev/rules.d/』下的規則設定檔『52-android.rules』,以「終端機」用圖形化編輯的操作為例,在『GNOME 桌面環境』下用[root@Celeron-D ~]# gedit /etc/udev/rules.d/52-android.rules在『MATE 桌面環境』下則用
[root@Celeron-D ~]# pluma /etc/udev/rules.d/52-android.rules啟動『文字編輯器』。
註:第一次設定時,該檔案應該是不存在。如果曾經設定過,可能為其它檔名。
接著再將下面文字貼入
# Company USB Vendor ID編輯完成,將檔案儲存。
# ASUS 0b05
# HTC 0bb4
# Motorola 22b8
# Samsung 04e8
# Sony Ericsson 0fce
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", GROUP="plugdev", MODE="0666"
註一:以上開頭為『SUBSYSTEM』的五列設定文字,中間並沒換列。
註二:若讀者的 Android 裝置的 Vendor ID(廠商識別名)與上例的設定不同,Linux 將無法識別它。下表是方便讀者查詢,將你的 Android 裝置的 Vendor ID 替換規則設定檔的設定列。最新的列表請參考 Android 官網所公佈之對應 Vendor ID。
Acer | 0502 | ASUS | 0b05 | Dell | 413c | Foxconn | 0489 |
Fujitsu | 04c5 | Fujitsu Toshiba | 04c5 | Garmin-Asus | 091e | 18d1 | |
Haier | 201E | Hisense | 109b | HTC | 0bb4 | Huawei | 12d1 |
K-Touch | 24e3 | KT Tech | 2116 | Kyocera | 0482 | Lenovo | 17ef |
LG | 1004 | Motorola | 22b8 | MTK | 0e8d | NEC | 0409 |
Nook | 2080 | Nvidia | 0955 | OTGV | 2257 | Pantech | 10a9 |
Pegatron | 1d4d | Philips | 0471 | PMC-Sierra | 04da | Qualcomm | 05c6 |
SK Telesys | 1f53 | Samsung | 04e8 | Sharp | 04dd | Sony | 054c |
Sony Ericsson | 0fce | Teleepoch | 2340 | Toshiba | 0930 | ZTE | 19d2 |
[SiB@Celeron-D ~]$ lsusb第一個命令是在 Android 裝置插入前,第二個命令則在插入之後。讀者會發現第二個命令的結果中,USB 裝置列表多了一個裝置,這即是你的 Android 裝置之 USB 資訊,在 ID 的前四碼正是該裝置的 Vendor ID。
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[SiB@Celeron-D ~]$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 04e8:6866 Samsung Electronics Co., Ltd
二、重新載入「設備管理器」測試機制之規則設定
這時候「設備管理器」的自動偵測機制仍然是舊的設定,要重新載入識別規則後,剛才的設定才會生效。[root@Celeron-D ~]# udevadm control --reload-rules執行成功後,就可以切換回原來的使用者身份。
三、開啟 Android 裝置的 USB 偵錯模式
在用 ADB 偵測 Android 裝置前,要先開啟 Android 裝置上的『USB 偵錯』模式,
如上圖所示,則 ADB 就可偵測到這個 Android 裝置了。
註:開啟 Android 裝置的偵錯模式,在不同的裝置、版本中,可能其設定位置會不同。一般而言,多安排在『設定』程式的『應用程式』或『開發』選項之下。
四、測試連接偵測功能
重新拔插 Android 手機或平板的 USB 插頭一次,這時 Linux 應該可以正常偵測到 Android 設備了。再用 adb 測試一下,看看剛才的設定是否成功:[SiB@Celeron-D ~]$ Android-SDK/platform-tools/adb devices注意:『 adb 』的路徑會因作業系統、或 SDK 版本的不同而不同,請耐心找一下。
List of devices attached
000990c55a666f device
已測試版本:
- Fedora: 19, 20
- Android SDK: 22.3
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)