Trang chủHướng dẫn › Cài app Android qua ADB
Hướng dẫn · Mẹo dev

Cài app Android từ xa qua ADB

Cài file APK lên điện thoại/máy Android từ máy tính, qua WiFi — không cần cắm cáp, không cần chạm vào máy. Dùng ADB không dây + tải APK đúng kiến trúc từ GitHub releases. Tiện khi cài RustDesk, app self-host, hay nhiều máy một lúc.

🎯 Cần: máy tính có adb (gói android platform-tools), điện thoại bật Developer options, và 2 máy cùng mạng (hoặc reachable qua VPN).
Bước 1

Bật ADB qua mạng

Android 11+ (không cần cáp): Settings ▸ Developer options ▸ Wireless debugging ▸ bật ▸ Pair device with pairing code.

adb pair <ip>:<pair-port> # nhập mã ghép (lần đầu) adb connect <ip>:<port> # port hiện trên màn Wireless debugging
📌 Port wireless-debugging đổi mỗi lần. Muốn cổng cố định: sau khi connect 1 lần chạy adb tcpip 5555 → từ đó adb connect <ip>:5555. (Cũ <11 thì cắm USB 1 lần để bật.)
Bước 2

Kết nối + nhận diện kiến trúc CPU

Xác nhận máy đã nối, rồi đọc ABI để tải đúng APK:

adb connect 192.168.1.50:5555 adb devices # phải thấy "... device" adb -s 192.168.1.50:5555 shell getprop ro.product.cpu.abi
ABI trả vềTải bản APK
arm64-v8a (đa số máy nay)arm64 / aarch64
armeabi-v7a (máy cũ)armv7
x86_64 (giả lập, một số Chromebook)x86_64
không chắcuniversal (chạy mọi arch, nặng hơn)
⚠️ Sai arch → cài báo INSTALL_FAILED_NO_MATCHING_ABIS. Cứ theo đúng dòng ro.product.cpu.abi.
Bước 3

Tải đúng APK từ GitHub releases

Release thường có nhiều file .apk theo arch. Lấy bản khớp ABI ở Bước 2. Tải nhanh bằng PowerShell (ví dụ RustDesk — đổi owner/repo cho app khác):

$ProgressPreference='SilentlyContinue' $rel = Invoke-RestMethod https://api.github.com/repos/rustdesk/rustdesk/releases/latest -Headers @{'User-Agent'='ps'} $apk = $rel.assets | ? { $_.name -match 'aarch64|arm64' -and $_.name -like '*.apk' } | select -First 1 irm $apk.browser_download_url -OutFile "$env:TEMP\$($apk.name)" "$env:TEMP\$($apk.name)" # đường dẫn file vừa tải
🔒 Chỉ tải APK từ repo/nguồn tin cậy, và file phải đã ký (signed). APK lạ = rủi ro mã độc.
Bước 4

Cài + mở app

# cài (-r = cập nhật, giữ data nếu đã có) adb -s 192.168.1.50:5555 install -r "C:\...\app.apk" # mở app (đổi package name cho đúng app) adb -s 192.168.1.50:5555 shell monkey -p com.carriez.flutter_hbb -c android.intent.category.LAUNCHER 1

Báo Success = xong. Kiểm tra đã cài: adb shell pm list packages | findstr <tên>.

📦 Package name lấy từ trang app (vd RustDesk = com.carriez.flutter_hbb), hoặc sau cài chạy adb shell pm list packages -3 (liệt kê app cài thêm).
Lưu ý

Vài điều hay vấp

Tình huốngXử lý
adb báo unauthorizedMở máy → bấm Allow ở popup "Cho phép gỡ lỗi USB?"
NO_MATCHING_ABISTải sai arch — xem lại Bước 2
Mất kết nối sau rebootPort wireless-debugging đổi → connect lại; hoặc pin adb tcpip 5555
Cài qua VPN/internetĐược, miễn máy tính reachable tới ip:port adb của máy (vd qua mạng riêng)