Cách cài APK bằng ADB (và ngay từ trình duyệt)
Cài APK lên Android bằng adb install, sửa lỗi INSTALL_FAILED, hoặc bỏ qua dòng lệnh và cài trực tiếp từ trình duyệt với ADBKit.
Để cài APK bằng ADB, hãy kết nối điện thoại đã bật gỡ lỗi USB rồi chạy adb install app.apk trong thư mục chứa tệp. ADB sẽ đẩy gói lên thiết bị và cài đặt mà bạn không cần chạm vào màn hình. Nếu không muốn cài công cụ dòng lệnh, bạn cũng có thể cài APK từ trình duyệt Chromium bằng bảng Install APK trong ADBKit.
Warning: APK có quyền truy cập như bất kỳ ứng dụng nào bạn cài. Chỉ cài tệp từ nguồn đáng tin cậy, như trang chính thức của nhà phát triển hoặc bản build của chính bạn, đừng tải từ các trang lạ.
Chuẩn bị
Bạn cần ba thứ: bộ platform-tools của Android trên máy tính (cung cấp lệnh adb), gỡ lỗi USB đã bật trên điện thoại và một sợi cáp USB. Nếu chưa bật gỡ lỗi, hãy xem cách bật gỡ lỗi USB trên Android trước. Sau đó kiểm tra máy đã được nhận chưa:
adb devicesThiết bị phải hiện trạng thái device. Nếu là unauthorized hoặc offline, xem cách sửa lỗi ADB device busy hoặc unauthorized.
Cài APK bằng adb install
Lệnh cơ bản nhận đường dẫn đến tệp:
adb install app.apkKhi thành công, bạn sẽ thấy Performing Streamed Install rồi đến Success. Các tuỳ chọn hữu ích nhất:
| Tuỳ chọn | Ý nghĩa |
|---|---|
-r | Thay thế (cài lại) ứng dụng đã có và giữ nguyên dữ liệu |
-d | Cho phép hạ phiên bản |
-g | Cấp toàn bộ quyền runtime khai báo trong manifest |
-t | Cho phép cài APK test-only |
Ví dụ, cập nhật ứng dụng và cấp quyền trong một lệnh:
adb install -r -g app.apkNếu có nhiều thiết bị hoặc máy ảo đang kết nối, chọn một máy bằng -s:
adb -s <serial> install app.apkỨng dụng gồm nhiều APK tách (split)
Một số ứng dụng được phát hành thành nhiều tệp (APK gốc cùng các bản cấu hình riêng). Cài chúng cùng lúc bằng adb install-multiple:
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.xxhdpi.apkTất cả tệp phải thuộc cùng một ứng dụng và cùng phiên bản.
Gỡ ứng dụng bằng ADB
Để gỡ ứng dụng, bạn cần tên gói (package name) chứ không phải tên tệp. Tìm bằng:
adb shell pm list packages | grep exampleRồi gỡ cài đặt:
adb uninstall com.example.appThêm -k nếu bạn muốn gỡ ứng dụng nhưng giữ lại dữ liệu và bộ nhớ đệm.
Các lỗi INSTALL_FAILED thường gặp
Khi cài thất bại, ADB in ra mã như INSTALL_FAILED_ALREADY_EXISTS. Đây là những lỗi bạn hay gặp nhất:
| Lỗi | Nguyên nhân | Cách xử lý |
|---|---|---|
INSTALL_FAILED_ALREADY_EXISTS | Ứng dụng đã được cài | Thêm -r để thay thế |
INSTALL_FAILED_UPDATE_INCOMPATIBLE | Bản đang cài được ký bằng khoá khác | Gỡ ứng dụng cũ trước (sẽ mất dữ liệu của nó), hoặc dùng APK do nhà phát triển gốc ký |
INSTALL_FAILED_VERSION_DOWNGRADE | APK cũ hơn phiên bản đang cài | Thêm -d, hoặc gỡ trước; ứng dụng không ở chế độ debug có thể bị từ chối hạ phiên bản |
INSTALL_FAILED_INSUFFICIENT_STORAGE | Không đủ dung lượng trống | Giải phóng bộ nhớ rồi thử lại |
INSTALL_FAILED_TEST_ONLY | APK được đánh dấu test-only | Thêm -t |
Lỗi sai chữ ký thường khiến nhiều người bất ngờ nhất. Android từ chối cập nhật ứng dụng bằng gói được ký bằng khoá khác, đây là cơ chế bảo vệ có chủ đích chống bản cập nhật bị can thiệp.
Nguồn không xác định và Play Protect
Cài qua ADB không dùng quyền "cài ứng dụng không rõ nguồn gốc" áp dụng cho ứng dụng và trình duyệt, vì bạn cài qua kết nối gỡ lỗi đáng tin cậy. Tuy vậy, một số máy vẫn hiện hộp thoại xác nhận trên màn hình, và Google Play Protect có thể quét hoặc cảnh báo về APK. Mỗi hãng xử lý khác nhau, nên nếu quá trình cài có vẻ bị treo, hãy nhìn màn hình điện thoại xem có hộp thoại nào không.
Cài APK từ trình duyệt với ADBKit
Nếu chỉ cần cài một tệp, bạn có thể bỏ qua hẳn platform-tools. ADBKit là không gian làm việc miễn phí trên trình duyệt, giao tiếp với điện thoại qua WebUSB, không cần cài đặt và không cần tài khoản.
- Mở ADBKit bằng trình duyệt máy tính nền Chromium như Chrome hoặc Edge. Firefox và Safari không hỗ trợ WebUSB.
- Bật Tuỳ chọn nhà phát triển và gỡ lỗi USB trên điện thoại, cắm cáp, rồi bấm Connect device.
- Chọn điện thoại trong cửa sổ USB của trình duyệt và chạm Allow trên điện thoại.
- Mở bảng Install APK và chọn tệp
.apk. - Chọn tuỳ chọn thay thế bản cài đặt hiện có nếu bạn đang cập nhật ứng dụng. ADBKit sẽ yêu cầu bạn xác nhận trước khi thay thế.
APK chỉ đi giữa trình duyệt và điện thoại; ADBKit không có máy chủ nào nhận nó. Tại một thời điểm chỉ một chương trình giữ được kết nối USB, nên hãy đóng Android Studio, scrcpy, các tab ADBKit khác, hoặc chạy adb kill-server nếu kết nối lỗi. Để xem đầy đủ các lệnh, đọc bảng tóm tắt lệnh ADB.