Hướng dẫnĐăng ngày: 5 phút đọc

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 devices

Thiế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.apk

Khi 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
-rThay thế (cài lại) ứng dụng đã có và giữ nguyên dữ liệu
-dCho phép hạ phiên bản
-gCấp toàn bộ quyền runtime khai báo trong manifest
-tCho 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.apk

Nế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.apk

Tấ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 example

Rồi gỡ cài đặt:

adb uninstall com.example.app

Thê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ỗiNguyên nhânCách xử lý
INSTALL_FAILED_ALREADY_EXISTSỨng dụng đã được càiThêm -r để thay thế
INSTALL_FAILED_UPDATE_INCOMPATIBLEBản đang cài được ký bằng khoá khácGỡ ứ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_DOWNGRADEAPK cũ hơn phiên bản đang càiThê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_STORAGEKhông đủ dung lượng trốngGiải phóng bộ nhớ rồi thử lại
INSTALL_FAILED_TEST_ONLYAPK được đánh dấu test-onlyThê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.

  1. 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.
  2. 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.
  3. 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.
  4. Mở bảng Install APK và chọn tệp .apk.
  5. 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.