要在電腦上透過指令安裝 APK 到 Android 裝置,最常用的工具是 ADB (Android Debug Bridge)。這是 Android SDK 裡的一個工具,能讓電腦跟手機溝通。
前置準備
首先電腦要安裝 ADB 工具。如果你有下載 Android Studio,它通常已經在裡面。如果是單獨下載 SDK Platform-Tools,記得要把路徑加入系統環境變數。手機端要開啟開發者選項,並把 USB 偵錯打開。
連接裝置
安裝前先確認電腦有沒有抓到手機。
adb devices
如果畫面出現一串序號加上 device 字樣,代表連接成功。如果顯示 unauthorized,記得看手機螢幕點選允許偵錯。
安裝指令
最基本的安裝指令很簡單。
adb install 路徑/檔名.apk
如果電腦上有好幾個檔案,可以直接把 APK 檔案拖進終端機視窗,它會自動填入路徑。
常用的安裝參數
有時候檔案已經存在,或者需要特殊權限,可以加參數。
- 覆蓋安裝:adb install -r 檔名.apk (保留原本的應用程式資料)
- 降版安裝:adb install -d 檔名.apk (允許安裝比手機現有版本還舊的 APK)
- 授予所有權限:adb install -g 檔名.apk (安裝完自動開啟所有權限)
指定特定裝置安裝
如果你同時接了兩台以上的手機,要指定其中一台。
adb -s 裝置序號 install 檔名.apk
裝置序號可以用剛才的 adb devices 指令查到。
常見問題
如果安裝失敗,通常會回傳錯誤代碼。
- INSTALL_FAILED_ALREADY_EXISTS:手機裡已經有同樣的 App,請改用 -r 參數。
- INSTALL_FAILED_INSUFFICIENT_STORAGE:手機空間不夠。
- INSTALL_FAILED_UPDATE_INCOMPATIBLE:簽名不一致,通常要先手動移除手機舊版 App 才能裝。
如果你已經安裝了 Android Studio,ADB 執行檔通常會藏在 SDK 的資料夾裡面。路徑會根據你的作業系統而有所不同。
Windows 系統的路徑
在 Windows 上,預設的路徑通常在你的使用者資料夾下。
C:\Users\使用者名稱\AppData\Local\Android\Sdk\platform-tools
注意 AppData 是一個隱藏資料夾,你可能要在檔案總管開啟顯示隱藏項目才看得到。在這個資料夾裡,你會找到 adb.exe。
macOS 系統的路徑
在 Mac 上,路徑通常在資源庫裡面。
/Users/使用者名稱/Library/Android/sdk/platform-tools
你可以直接在終端機輸入這個路徑來執行 adb,或者把這個路徑加到你的 .zshrc 檔案中,之後輸入 adb 就不需要完整路徑。
在 Android Studio 介面查看
如果你不確定路徑,可以從 IDE 裡面直接看。
- 打開 Android Studio。
- 點選 Settings (或是 macOS 的 Settings/Preferences)。
- 尋找 Appearance & Behavior。
- 點開 System Settings 找到 Android SDK。
- 視窗右上方會直接顯示 Android SDK Location,那個路徑底下的 platform-tools 就是目的地。
快速執行的方法
如果你懶得找路徑,可以直接用 Android Studio 內建的 Terminal 視窗。
它會自動幫你設定好環境變數。只要在 Android Studio 下方點開 Terminal,直接輸入 adb 就能使用,不需要自己輸入長長的路徑。
寫一段把這個路徑加入系統環境變數的指令
既然你想要把路徑加入系統環境變數,這樣以後在任何資料夾輸入 adb 都能直接執行。我幫你整理了 Windows 和 Mac 的快速設定方式。
Windows 設定方式
你可以透過 PowerShell 指令直接把路徑加進去。請記得把下面的路徑換成你電腦上實際的路徑。
PowerShell
$adbPath = "C:\Users\使用者名稱\AppData\Local\Android\Sdk\platform-tools"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + $adbPath, "User")
執行完後,請重新啟動你的 PowerShell 或 CMD 視窗,輸入 adb version 確認是否成功。
macOS 設定方式
Mac 通常使用 Zsh,你需要修改設定檔。
- 在終端機輸入
nano ~/.zshrc。 - 在檔案最下方加入這行:
export PATH=$PATH:/Users/使用者名稱/Library/Android/sdk/platform-tools - 按下 Ctrl + O 存檔,Ctrl + X 離開。
- 輸入
source ~/.zshrc讓設定生效。
驗證設定
設定完成後,不管你在哪個資料夾,直接輸入這行。
adb devices
如果能正常列出裝置清單,就代表你成功了。之後要安裝 APK,只要切換到檔案所在的資料夾,輸入 adb install 檔名.apk 就可以了。
Error message:
adb.exe: failed to install app.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.your.packagename signatures do not match newer version; ignoring!]
這個錯誤訊息代表手機裡已經裝了同一個 App,但是舊版跟新版的「簽名(Signatures)」不一樣。這通常發生在舊版是從 Google Play 下載,而新版是你自己開發或從網路下載的 APK,系統為了安全會禁止覆蓋。
解決方案
因為簽名不一致,-r 參數(強制覆蓋)在這種情況下會失效。唯一的辦法是先移除手機上的舊版本,再重新安裝。
步驟 1:解除安裝舊版
你不需要在手機上點選,可以直接用指令移除。請使用這個 App 的套件名稱(Package Name)。
adb uninstall com.your.packagename
步驟 2:重新安裝新版
移除成功後,再執行你原本的安裝指令。
adb install app.apk
注意事項
解除安裝會導致該 App 的所有資料(如帳號紀錄、暫存檔)被清除。如果你開發時常遇到這個問題,建議確認你的開發環境(例如 Android Studio)是否使用了固定的 Debug Key。
如果執行 adb uninstall 還是失敗,需要我幫你查其他的移除參數嗎?