分页: 1 / 1

linux連android adb方法

发表于 : 2026年 5月 27日 04:52
ejsoon
linux如何用adb連手機調試?

代码: 全选

在 Linux 系統上使用 ADB(Android Debug Bridge)連接手機進行調試,步驟其實非常直覺。只要依序搞定**手機端**與 **Linux 端**的設定,就能輕鬆連上。

以下是完整的操作指南:

---

## 第一步:手機端的準備工作

在連接電腦之前,必須先開啟手機的隱藏功能「開發者選項」。

1. 打開手機的 **「設定」 -> 「關於手機」**。
2. 找到 **「版本號碼」(Build Number)**,連續點擊它 **7 次**,直到系統提示「您現在已成為開發者」。
3. 返回「設定」主選單,進入 **「系統」 -> 「開發者選項」**(部分手機會在「其他設定」中)。
4. 找到並**開啟「USB 調試」(USB Debugging)**。

---

## 第二步:Linux 端安裝 ADB 工具

根據你使用的 Linux 發行版,打開終端機(Terminal)並輸入對應的安裝指令:

### Ubuntu / Debian / Linux Mint

```bash
sudo apt update
sudo apt install adb

```

> **💡 實用小技巧:** 建議順便安裝 `android-sdk-platform-tools-common`,它會自動幫你配置好大部分手機的 USB 權限(udev rules),省去後面排錯的麻煩:
> ```bash
> sudo apt install android-sdk-platform-tools-common
> 
> ```
> 
> 

### Fedora / RHEL

```bash
sudo dnf install android-tools

```

### Arch Linux

```bash
sudo pacman -S android-tools

```

---

## 第三步:進行連接與授權

1. 使用 USB 傳輸線將手機連接到 Linux 電腦。
2. 在 Linux 終端機中輸入以下指令來啟動 ADB 並檢查裝置:
```bash
adb devices

```


3. **注意看手機螢幕:** 此時手機上會跳出一個彈出視窗,詢問 **「是否允許 USB 調試?」**。請勾選「總是允許來自這台電腦的偵錯」,然後點擊**允許**。
4. 重新在終端機輸入一次 `adb devices`,如果看到類似下方的畫面,代表連線成功了:
```text
List of devices attached
課本上的序號XYZ1234567    device

```



---

## 🛠️ 常見問題排錯(Troubleshooting)

### 狀況 A:輸入 `adb devices` 後顯示 `unauthorized`

* **原因:** 你還沒有在手機上點擊「允許 USB 調試」。
* **解法:** 解鎖手機螢幕,點選允許。如果沒跳出視窗,可以輸入 `adb kill-server` 重啟服務,再試一次。

### 狀況 B:顯示 `no permissions` 或 `?????? no permissions`

* **原因:** Linux 系統預權限限制,不允許一般用戶存取該 USB 裝置。
* **快速解法(臨時用):** 用 root 權限重啟 ADB 伺服器:
```bash
adb kill-server
sudo adb start-server
adb devices

```


* **完美解法(永久有效):** 將你的 Linux 帳號加入 `plugdev` 群組(部分發行版適用):
```bash
sudo usermod -aG plugdev $USER

```


(設定完後需要登出 Linux 或重啟電腦才會生效)。

---

## 🎁 同場加映:如何無線(Wi-Fi)連接?

如果你不想一直插著線,在確保**手機和電腦在同一個 Wi-Fi 網路**的情況下,可以這樣做:

1. 先用 USB 線連上手機。
2. 讓 ADB 在 5555 端口監聽:
```bash
adb tcpip 5555

```


3. 拔掉 USB 線,查出手機的 IP 位址(可以在手機的 Wi-Fi 設定裡看到,假設是 `192.168.1.100`)。
4. 在 Linux 終端機連線:
```bash
adb connect 192.168.1.100:5555

```


5. 輸入 `adb devices` 確認,你就能擺脫線材的束縛了!

Re: linux連android adb方法

发表于 : 2026年 5月 27日 04:55
ejsoon
手機上有一個app叫lime,它有個備份功能。現在要在重做一次備份時抓 logcat,尤其是 DBServer、DbManagerFragment、LIMEUtilities、backup、zip、openOutputStream、Exception、error 相關訊息。該如何做?

代码: 全选

要精準抓取 LIME App 在備份時產生特定關鍵字的日誌(log),在 Linux 終端機下使用 `adb logcat` 搭配 `grep` 的正規表達式(Regex)是最有效率的做法。

因為你指定的關鍵字中,有些可能是 **Tag(標籤)**(如 `DBServer`、`LIMEUtilities`),有些則是 **Log 內容**(如 `openOutputStream`、`Exception`),建議直接對「整行 Log」進行不區分大小寫的關鍵字過濾。

請依照以下步驟操作:

---

## 📋 標準操作流程

### 步驟 1:清理舊的日誌

手機連接電腦後,先清空手機快取中的舊日誌,避免被之前的無關訊息干擾:

```bash
adb logcat -c

```

### 步驟 2:執行過濾並同時「輸出至螢幕」與「儲存成檔案」

複製並執行以下指令。這個指令會即時篩選出你指定的所有關鍵字,並在畫面上顯示,同時將完整的過濾結果寫入到 `lime_backup.log` 檔案中:

```bash
adb logcat -v time | grep --color=always -E -i "DBServer|DbManagerFragment|LIMEUtilities|backup|zip|openOutputStream|Exception|error" | tee lime_backup.log

```

> **💡 指令小解析:**
> * `-v time`:讓輸出的日誌帶有時間戳記,方便比對你操作備份的時間點。
> * `grep -E`:啟用延伸正規表達式,允許使用 `|`(代表 **或 / OR**)來同時搜尋多個關鍵字。
> * `-i`:**忽略大小寫**(例如 `error`、`Error`、`ERROR` 都會被抓到)。
> * `--color=always`:在終端機畫面上將關鍵字標色,方便肉眼觀察。
> * `| tee lime_backup.log`:把結果同步儲存到當前目錄下的 `lime_backup.log` 檔案。
> 
> 

### 步驟 3:在手機上操作備份

指令開始執行後,拿起手機打開 LIME App,**立刻執行備份功能**。此時電腦終端機應該會開始跳出符合條件的 Log。

### 步驟 4:停止抓取

備份完成(或出錯中斷)後,在 Linux 終端機按下 **`Ctrl + C`** 結束指令。你就可以在當前目錄下找到 `lime_backup.log` 檔案進行分析。

---

## 🛠️ 進階技巧(如果怕漏掉關鍵資訊)

有時候 Java 的 `Exception`(閃退/錯誤訊號)會換行輸出詳細的堆疊追蹤(Stacktrace),單純用 `grep` 可能只會抓到有 `Exception` 那一行,而漏掉下面幾行的具體出錯原因。

如果你想**抓取包含關鍵字的那一行,以及它的下面 5 行**,可以加上 `-A 5` 參數(After):

```bash
adb logcat -v time | grep --color=always -i -E "DBServer|DbManagerFragment|LIMEUtilities|backup|zip|openOutputStream|Exception|error" -A 5 | tee lime_backup_detailed.log

```

## 🔍 如何確認有沒有抓到?

抓取完成後,你可以用 Linux 內建的 `cat` 或 `less` 指令來快速查看檔案內容:

```bash
cat lime_backup.log

```

Re: linux連android adb方法

发表于 : 2026年 5月 27日 06:43
ejsoon
抓取指令:

代码: 全选

adb logcat -v time | grep --color=always -E -i "DBServer|DbManagerFragment|LIMEUtilities|backup|zip|openOutputStream|Exception|error" | tee lime_backup.log
結果:
limebackup.log.7z
(13.86 KiB) 已下载 8 次