Gỡ lỗi từ xa WebView

Gỡ lỗi WebView trong ứng dụng Android gốc bằng Công cụ cho nhà phát triển Chrome.

Trên Android 4.4 (KitKat) trở lên, hãy sử dụng Công cụ cho nhà phát triển để gỡ lỗi nội dung WebView trong các ứng dụng Android gốc.

Tóm tắt

  • Bật tính năng gỡ lỗi WebView trong ứng dụng Android gốc; gỡ lỗi WebView trong Công cụ của Chrome cho nhà phát triển.
  • Truy cập danh sách các WebView đã bật gỡ lỗi qua chrome://inspect.
  • Việc gỡ lỗi WebView cũng giống như gỡ lỗi một trang web thông qua tính năng gỡ lỗi từ xa.

Định cấu hình WebView để gỡ lỗi

Bạn phải bật tính năng gỡ lỗi WebView từ trong ứng dụng của mình. Để bật tính năng gỡ lỗi WebView, hãy gọi phương thức tĩnh setWebContentsDebuggingEnabled trên lớp WebView.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    WebView.setWebContentsDebuggingEnabled(true);
}

Chế độ cài đặt này áp dụng cho tất cả WebView của ứng dụng.

Lưu ý: Hoạt động gỡ lỗi WebView không chịu ảnh hưởng của trạng thái của cờ debuggable trong tệp kê khai của ứng dụng. Nếu bạn chỉ muốn bật tính năng gỡ lỗi WebView khi debuggabletrue, hãy kiểm thử cờ trong thời gian chạy.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE))
    { WebView.setWebContentsDebuggingEnabled(true); }
}

Mở WebView trong Công cụ cho nhà phát triển

Trang chrome://inspect hiển thị danh sách các WebView đã bật gỡ lỗi trên thiết bị của bạn.

Để bắt đầu gỡ lỗi, hãy nhấp vào inspect bên dưới WebView mà bạn muốn gỡ lỗi. Sử dụng Công cụ cho nhà phát triển giống như cách bạn làm với thẻ trình duyệt từ xa.

Kiểm tra các phần tử trong WebView

Đồ hoạ màu xám được liệt kê cùng WebView cho biết kích thước và vị trí của nó so với màn hình của thiết bị. Nếu WebView của bạn đã đặt tiêu đề thì các tiêu đề cũng được liệt kê.

Khắc phục sự cố

Không thấy WebView của bạn trên chrome://inspect trang?

  • Xác minh rằng bạn đã bật tính năng gỡ lỗi WebView cho ứng dụng của mình.
  • Trên thiết bị, hãy mở ứng dụng có WebView mà bạn muốn gỡ lỗi. Sau đó, hãy làm mới trang chrome://inspect.